ПРИМЕРЫ Здесь я привожу примеры, которые, надеюсь, помогут вам решить некоторую часть проблем, возникающих при написании bat файлов. Если у вас есть замечания, вопросы, пожелания, дополнения - пишите. ----------------------------------------------------------------------------------------------------------------------------------------- ЭКРАНИРОВАНИЕ СПЕЦСИМВОЛОВ И ВЫВОД В ФАЙЛ. echo ^ >mytest.html echo ^ >>mytest.html echo ^Test html page^ >>mytest.html echo ^ >>mytest.html echo ^ >>mytest.html echo Hello World >>mytest.html echo ^ >>mytest.html echo ^ >>mytest.html Экранирование символа % echo моих собственных примеров здесь более 50%% ----------------------------------------------------------------------------------------------------------------------------------------- ОЖИДАДАНИЕ ЗАДАННОГО ИНТЕРАЛА ВРЕМЕНИ Паузу можно создать при помощи команды ping: ping -n 1 -w 100000 192.168.254.254 >nul -n 1 - выполнить один запрос -w 100000 - ждать ответа 100 секунд (значение указывается в миллисекундах) 192.168.254.254 - IP адрес, который заведомо не существует в локальной сети (важно!), т.е. никогда не ответит на ping >nul - перенаправление всего вывода команды ping в никуда. Можно использовать утилиту sleep.exe из Ресурскита. ----------------------------------------------------------------------------------------------------------------------------------------- АНАЛИЗ РЕЗУЛЬТАТОВ РАБОТЫ КОМАНДЫ, ПРОГРАММЫ FOR /F "usebackq" %%i IN (`hostname`) DO SET MYVAR=%%i В переменную MYVAR запишется имя компьютера, с которого запущена команда. Приведено в качестве примера. Так как аналогичный результат можно было получить и более просто (см. раздел Переменные) : set MYVAR=%COMPUTERNAME% FOR /F "usebackq" %%i IN (`md5sum.exe -t fin.txt`) DO ( set rrr=%%i ) Осуществляется запуск программы расчета контрольных сумм файла с параметрами и последующий анализ результата. ping ya.ru /n 1 | find "TTL">nul if %ERRORLEVEL% NEQ 0 ( rem Действия, если ping был неудачным ) else ( rem Действия, в сучае удачного завершения ping ) В приведенном выше примере утилита для проверки соединений ping передает (конвейер) данные результата своей работы команде find для анализа. ----------------------------------------------------------------------------------------------------------------------------------------- ЗАМЕНА ОДНОЙ ПОДСТРОКИ НА ДРУГУЮ В ФАЙЛЕ Для выполения этой операции можно использовать утилиту sbs2.com Традиция и дошедший комментарий приписывает авторство Herbert Kleebauer. Получить эту программку можно выполнив следующий бат файл: rem Create the assembler program, by Herbert Kleebauer echo Bj@jzh`0X-`/PPPPPPa(DE(DM(DO(Dh(Ls(Lu(LX(LeZRR]EEEUYRX2Dx=>sbs2.com echo 0DxFP,0Xx.t0P,=XtGsB4o@$?PIyU!WvX0GwUY Wv;ovBX2Gv0ExGIuht6>>sbs2.com echo ?@}IKuNWpe~Fpe?FNHlF?wGMECIQqo{Ox{T?kPv@jeoSeIlRFD@{AyEKj@>>sbs2.com echo iqe~1NeAyR?mHAG~BGRgB{~H?o~TsdgCYqe?HR~upkpBG?~slJBCyA?@xA>>sbs2.com echo LZp{xq`Cs?H[C_vHDyB?Hos@QslFA@wQ~~x}viH}`LYNBGyA?@xAB?sUq`>>sbs2.com echo LRy@PwtCYQEuFK@A~BxPtDss@fFqjVmzD@qBEOEenU?`eHHeBCMs?FExep>>sbs2.com echo LHsPBGyA?@xAunjzA}EKNs@CA?wQpQpKLBHv?s`WJ`LRCYyIWMJaejCksl>>sbs2.com echo H[GyFGhHBwHZjjHeoFasuFUJeHeB?OsQH[xeHCPvqFj@oq@eNc?~}Nu??O>>sbs2.com echo ~oEwoAjBKs?Zp`LBzHQzyEFrAWAG{EFrAqAGYwHTECIQ{coKIsaCsf{Oe~>>sbs2.com echo CK}Ayre~CNFA{rAyEKFACrA{EKGAjbA}eKGSjNMtQFtc{OAyDGFj?{FDGQ>>sbs2.com echo KAjNVk_OCAx@e?f{o?CosI}1EGizhljJ~H1ZeG}JBA~rACBMDGjjDG@g0>>sbs2.com В результате, в папке, где будет запущен приведенный выше текст, создастся файл sbs2.com. Возможно, вы будете приятно удивлены его размером - 659 БАЙТ! Использование: sbs2.com 0 "Old String" "New String" < infile > outfile Осуществляется замена всех вхождений Old String на New String в файле infile. Результат запишется в файл outfile. -----------------------------------------------------------------------------------------------------------------------------------------