Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» Задачи на bat-файлах 2

Автор: yurkesha
Дата сообщения: 05.03.2007 19:12

Цитата:
Кстати, давайте в шапке сделаем ссылку, типа "Консольные утилиты, которые можно использовать в бат-файлах"
полность поддерживаю! Только если уж на то пошло то придется создать еще паралельную тему в варезнике - некоторые утиля совсем не бесплатны... К тому же стоит наверное озаботится не только консольными, но и вообще утилитами допускающими работу через командную строку - например тот же UltraISO... Вобщем готов поучаствовать. Как вариант одной утилиты предлагаю:
cdbflite - работа с dbf из командной строки
Автор: Elroir
Дата сообщения: 05.03.2007 19:40
igor_andreev
Поддерживаю идею с утилитами. Часто они очень сильно облегчают жизнь.

yurkesha

Цитата:
Только если уж на то пошло то придется создать еще паралельную тему в варезнике - некоторые утиля совсем не бесплатны

Главное, я думаю, дать информацию, а где скачать крэк или серийник - люди разберутся

Цитата:
cdbflite - работа с dbf из командной строки

Как вариант... Думаешь много людей работатют с dbf?
Автор: Nagual
Дата сообщения: 05.03.2007 21:02
Кто нить сталкивался с запуском звукового файла из сценария?
Исходные данные: винда, в основном XP, звуковой файл wav, сценарий.
Задача, как вы, наверное, догадались, проиграть звуковой файл системными средствами без запуска каких либо диалоговых окон.
Автор: igor_andreev
Дата сообщения: 05.03.2007 22:19
Nagual

Цитата:
Задача, как вы, наверное, догадались, проиграть звуковой файл системными средствами без запуска каких либо диалоговых окон.
Без диалоговых окон - это консоль. Консольного плейера в стандартной поставке Windows нет. Спроси, где взять - скажу

Системными средствами можно без диалоговых окон vbscript-ом только, в основном разные вариации запуска mplayer2.exe, mplay32.exe или через %WINDIR%\System32\Msdxm.ocx или через Internet Explorer. Еще %WINDIR%\msagent\chars\merlin.acs умеет играть *.wav

Добавлено:
Elroir

Цитата:
Думаешь много людей работатют с dbf?

Немного и нечасто. Но по закону подлости, когда они нужны - фих найдешь По себе знаю, тут на ru-board кто-то однажды спросил консольную конвертилку dbf в csv или txt, ну я линк дал(натыкался на нее), подошло. Но себе не оставил утилиту за ненадобностью. А когда самому один-единственный раз понадобилось - не смог собственное сообщение найти
Автор: ViSiToR
Дата сообщения: 05.03.2007 23:49


Nagual


Цитата:
без запуска каких либо диалоговых окон


Есть утилита WacCommand - предназначена для управления Winamp'ом из командной строки (это конечно не системными средставми, но зато если есть Winamp, очень удобно из батника им управлять).

igor_andreev

Цитата:
Еще %WINDIR%\msagent\chars\merlin.acs умеет играть *.wav

А можно его попросить об этом из батника?


Цитата:
давайте в шапке сделаем ссылку, типа "Консольные утилиты, которые можно использовать в бат-файлах"?

Двумя руками ЗА!
Автор: Elroir
Дата сообщения: 06.03.2007 00:00
igor_andreev

Цитата:
Но по закону подлости, когда они нужны - фих найдешь

Знаю такое - я так тоже несколько раз попадался. Знаю что было где-то, но вот где...
Просто я думаю, что в шапке должны быть утилиты, которые используются часто и многими. Но это, конечно, IMHO.
Автор: Nagual
Дата сообщения: 06.03.2007 00:04
igor_andreev
интересен вариант с merlin.acs
сторонними утилами, да еще которые запускают комбайн винампа, это не то
онли стандартные средства, господа
Автор: igor_andreev
Дата сообщения: 06.03.2007 00:27

Цитата:
А можно его попросить об этом из батника?

Можно, но как обычно, через написание tmp.vbs.
Nagual
Я вот с ним и разбирался сейчас, не хочет поганец проигрывать на домашнем ноуте. Подозреваю, что ему наверно TTS Engine еще для этого нужен, который дома не установлен. Или у меня с аудио-устройствами что-то. Завтра на работе посмотрю, там все есть и все работает стопудово. Примеров скриптов полный гугль Попробуй так

Код:
On Error Resume Next
aCHAR = "merlin"
Set ACTL = CreateObject("Agent.Control.2")
ACTL.Connected = True
ACTL.Characters. Load aCHAR, aCHAR & ".acs"
If Err.Number <> 0 Then Wscript.Quit

Set CREF = ACTL.Characters(aCHAR)
CREF.Show
CREF.Get "WaveFile", "disk:\path\file.wav"
CREF.Speak "Hi! I'ts test", "disk:\path\file.wav"

Set objRequest = CREF.Hide
Do Until objRequest.Status=Complete: Wscript.Sleep 200 :Loop
Wscript.Quit
Автор: Nagual
Дата сообщения: 06.03.2007 00:36
igor_andreev
не сработало, идет только анимация и текст, однако, неплохой способ оповещать о чем-либо юзеров
Автор: ViSiToR
Дата сообщения: 06.03.2007 01:17
Nagual

Цитата:
не сработало, идет только анимация и текст

Для этого должен быть установлен в системе звуковой движок (советую Digalo).
Автор: Nagual
Дата сообщения: 06.03.2007 01:36
ViSiToR

Цитата:
должен быть установлен

это уже отход от концепции "только стандартные средства", так что не годится
Автор: ViSiToR
Дата сообщения: 06.03.2007 01:56
Nagual

Цитата:
это уже отход от концепции "только стандартные средства"

Не, так не получится, “Всё самое лучшее не у нас ©” .

тогда получается и драйвера нужно выкинуть от звуковухи , таким образом вообще не реально что либо и чем либо озвучить.
Автор: VICTOR2005
Дата сообщения: 06.03.2007 02:30
Нужно переименовать файла.
Пример:
100_0000_windows.rar на windows.rar, стирать 100_0000_ .
Как?
Автор: Elroir
Дата сообщения: 06.03.2007 02:35
VICTOR2005

Код:
setlocal
set "old_name=100_0000_windows.rar"
set "name=%old_name:~9%"
ren "%old_name%" "%name%"
Автор: igor_andreev
Дата сообщения: 06.03.2007 03:07
Elroir

Цитата:
Просто я думаю, что в шапке должны быть утилиты, которые используются часто и многими. Но это, конечно, IMHO.
Согласен.
Натравил батник для вытаскивания file_id.diz и descript.ion на папку с консольными тулзами. Сидю в шоке, каждую ведь еще и проверить надо(проверить - в смысле хоумпэйдж живой или нет, то что утиль работает, я уже знаю), ссылку на домашнюю страницу или на закачку дать. Да и краткое описание почти у всех по-английски, на форуме то по-русски лучше? А это еще не все, на старом ноуте папка с консольными утилитами, которые я перепробовал, около трех гигов весила . Мне то они не понравились или не понадобились, а вдруг кому-то надо? Как определить?

Под "подробнее" - тупо скопированный с listsoft.ru список категорий. По каким категориям народу нужны консольные утилиты?

[more]


WWW
HTML редакторы · Скрипты · Browsers · Browser add-ons · Ускорители · web-графика · Новости · Off-line · Проверка ссылок · Bookmarks · Для разработчика · Ява

Поиск
WWW · FTP · E-mail · Музыка

E-mail
Проверка · Анти-спам · Клиенты

FTP

Download managers

Сервера
HTTP · FTP · Почтовые · Анализаторы логов · Утилиты

Утилиты
Звонилки · Инструменты · Скорость, время... · Синхронизация времени

Usenet

Chat

Защита

Telnet


Графика
Смотрелки · 3D · Редакторы · Скриншоты

Видео
Проигрыватели

Аудио
Проигрыватели · Редакторы · Конвертеры

Текст
Кодировки · Редакторы · Шрифты · Поиск, замена, сравнение

Антивирусы

Утилиты
Базы данных · CD-ROM & CD-R · Файл - менеджеры · Архиваторы · Запуск программ · Буфер · Проводник · Будильники и напоминалки · Голос · Диски · Автоматизация · Управление окнами · Калькуляторы

Украшательства
Иконки и курсоры · Themes · Хранители экрана · Обои · Оболочки

Развлечения
Розыгрыши · Приколы · Screenmates

Защита
Пароли · Шифрование · Доступ
Сети
Мониторинг · LAN <--> Internet · FTN · Chat · Сканнеры · Удаленное управление

Для программистов
Редакторы · help · Компоненты: Delphi · Компоненты: VB · Компоненты · Perl · Setup · Распространение

Система
Диски · Backup · Диагностика · Мониторинг · Восстановление · Чистка · Настройка · Оптимизация памяти

Обучение
Электронные книги · Компьютер · Языки · Для детей · Тесты

Игры
Стратегии · Слова · Карты · Аркады · Тетрисы и шарики · Головоломки · Шашки - шахматы

Прикладное ПО
Финансы дома · Органайзеры · Факсы, АОНы... · Мобильные телефоны · Медицина · Для бухгалтера · Для бизнеса · Склад, магазин... · Единицы измерения · Работа

[/more]

Автор: Elroir
Дата сообщения: 06.03.2007 03:20
igor_andreev

Цитата:
Сидю в шоке



Цитата:
Мне то они не понравились или не понадобились, а вдруг кому-то надо? Как определить?

Так не надо на народ ориентироваться - то чем ты пользуешься или считаешь полезным, то и надо заносить в список. А если кто-нибудь поднимет вопрос, под который подойдет дополнительная утилита (та, которая еще не в списке) - всегда можно добавить.

Цитата:
По каким категориям народу нужны консольные утилиты?

Опять же - по категориям можно и потом разложить. Когда наметится список.

Автор: igor_andreev
Дата сообщения: 06.03.2007 04:02
Nagual

Цитата:
это уже отход от концепции "только стандартные средства", так что не годится

Ну тогда тебе остается в vbs:

Код:
CreateObject("WScript.Shell").Run("mplay32.exe /play /close ") & "file.wav", 0, false
Автор: Maza Faka
Дата сообщения: 06.03.2007 07:53
VICTOR2005

Цитата:
Нужно переименовать файла.
Пример:
100_0000_windows.rar на windows.rar, стирать 100_0000_ .
Как?


Не понял конкретно, что именно тебе нужно, если просто переименовать архивы, то можно так:


Код:
@Echo off
For %%i in (*.rar) do Echo %%i >> rar.txt
For /l %%i in (1,1,10) do (
For /F %%l in (rar.txt) do ren %%l %%iwindows.rar)
del rar.txt
Автор: VICTOR2005
Дата сообщения: 06.03.2007 10:27
Неясно!
пример:
100_0001_windows.part1.rar
100_0000_windows.part2.rar
100_0500_windows.part3.rar
100_0056_windows.part4.rar
---------------------------------
автомат на
windows.part1.rar
windows.part2.rar
windows.part3.rar
windows.part4.rar
готов.
------------------
Как?
Автор: Tipulatoid
Дата сообщения: 06.03.2007 11:22
VICTOR2005

Код: @echo off
setlocal enabledelayedexpansion

for /f "tokens=*" %%a in ('dir "*_windows.part*.rar" /b') do call :rename "%%a"
goto end

:rename
for /f "tokens=3 delims=_" %%a in (%1) do ren %1 %%a
goto :eof

:end
Автор: NIKZZZZ
Дата сообщения: 06.03.2007 11:31
А интересно, кто-нибудь решал стандартную задачу - программа, которая выводит свой собственный текст? (естественно не прямой распечаткой Type xxx.bat)
Автор: ViSiToR
Дата сообщения: 06.03.2007 12:18
NIKZZZZ

Цитата:
программа, которая выводит свой собственный текст?

Ты имеешь в виду симуляцию нажатии клавишь? мне и самому интересно такое узнать, но полагаю без внешней помощи не обойтись
Автор: NIKZZZZ
Дата сообщения: 06.03.2007 12:36
ViSiToR

Цитата:
Ты имеешь в виду симуляцию нажатии клавишь?

Нет. Считается , что эта задача решаема на любом языке достаточно высокого уровня. Я видел ее решение на C, 65 символов, одна строка. Интересно , можно ли ее решить батником?




Добавлено:

Цитата:
но полагаю без внешней помощи не обойтись

Хотя бы с ней, важно не использовать для вывода текст самого батника.

Автор: euheny
Дата сообщения: 06.03.2007 13:17
Раньше была choice - можно-было задать время ожидания , а как теперь это делается ?
Автор: Tipulatoid
Дата сообщения: 06.03.2007 13:51
euheny
Если вы о задержке на n секунд посмотрите в шапке - "Альтернативные решения"

Автор: igor_andreev
Дата сообщения: 06.03.2007 13:58
euheny

Цитата:
Раньше была choice - можно-было задать время ожидания

Так же и делается, choice /T:N,15 Clear temp files?
Только кому нужно - скачивать отдельно приходится. В Майкрософт решили, что раз юзер продвинутый и в состоянии сам, без помощи доброй винды решить, что батнику делать через указанное время в случае ненажатия клавиши Y(или другой заданной), то самое место ей в ресурс ките. choice(zip, 20,4 Кб) из Windows 2000 Resource Kit


Добавлено:
Tipulatoid
Это о выводе запроса пользователю и продолжении работы батника через заданное количество секунд, если не нажата запрашиваемая клавиша. Удобная штука, если например батник стартует из планировщика когда тебя рядом нет, то пусть удаляет какую-нибудь папку например, если ты сидишь рядом и хочешь отменить это действие - достаточно нажать соответствующую клавишу, батник продолжит выполнение сценария без удаления. Не нажимать же на крестик в правом углу батника , ему еще дальше кучу дел надо переделать.

А если пользоваться стандартным SET /P - то батник, запущенный планировщиком на моем рабочем компе к примеру(перезагружается раз в месяц, всегда включен), будет висеть на экране и терпеливо ждать моего возвращения из командировки через 10 дней, пока не приеду и букву не введу Поэтому choice иногда бывает нужна.

Код:
@ECHO OFF

CHOICE /T:N,5 Delete it?
GOTO :LABEL_%ERRORLEVEL%

:LABEL_1
ECHO You press Y
PAUSE
GOTO :EOF

:LABEL_2
ECHO You press N
PAUSE
GOTO :EOF
Автор: ViSiToR
Дата сообщения: 06.03.2007 14:56
NIKZZZZ

Цитата:
Нет. Считается , что эта задача решаема на любом языке достаточно высокого уровня.

Про какую задачу идёт речь!?
Что имеется ввиду тут:


Цитата:
программа, которая выводит свой собственный текст?
Автор: NIKZZZZ
Дата сообщения: 06.03.2007 15:08
ViSiToR
Результат работы должен быть эквивалентен следующему батнику:
xxx.bat
************
Type xxx.bat
*************
Но батник не должен!!! использовать текст, содержащийся в xxx.bat для вывода.

Например


Автор: xSabir
Дата сообщения: 06.03.2007 15:18
Народ, подскажите пожалуйста новичку. Есть такой батник:
@echo off
:_menu
cls
echo 1.New file 2.Edit file 3.View file 4.Delete string 5.Exit
echo Enter action:
set /p action=

if /i "%action%"=="1" goto :_new
if /i "%action%"=="2" goto :_edit
if /i "%action%"=="3" goto :_view
if /i "%action%"=="4" goto :_delstr
if /i "%action%"=="5" goto :_exit

:_new
cls
del x.txt
copy con x.txt
pause
goto :_menu

:_edit
cls
copy x.txt+con x.txt
pause
goto :_menu

:_view
cls
more x.txt
pause
goto :_menu

:_delstr
cls
set /a i=0
for /F "usebackq delims==" %%i in ( x.txt ) do if not "%%i"=="" (
set /a i+=1
echo %%i
)
echo.
echo In file x.txt %i% strings
echo.
set /p VarName=Enter number of string to delete:
echo %VarName%
pause
goto :_menu

:_exit
cls
pause
goto :eof

:eof

Как можно в процедуре _delstr удалить строку под номером %VarName% из файла x.txt?
Автор: igor_andreev
Дата сообщения: 06.03.2007 15:18
NIKZZZZ

Цитата:
Но батник не должен!!! использовать текст, содержащийся в xxx.bat

А что он должен использовать для вывода, какой текст? Веришь-нет, до сих пор не понял, что ты от батника хочешь

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Сбой активации XP sp2


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.