Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 8

Модерирует : KLASS, IFkO

vu1tur (04-09-2010 17:46): http://forum.ru-board.com/topic.cgi?forum=62&topic=21297  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199

   

vu1tur



Moderator-Saaber
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Задачи на bat-файлах 8
(часть 1, часть 2, часть 3, часть 4, часть 5, часть 6, часть 7)
Вопросы, задачи и их решения по работе с командными файлами, а также сопутствующие ссылки.

 
Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!!
 
Также для удаления концевых пробелов пользуйтесь скриптом от Nagual, или VBS-Скрипт-Модулем от ViSiToR.
 
Для перекодирования кирилицы 866<<>>1251 пользуйтесь онлайн сервисом Перекодировщик кириллицы

 
Дополняем шапку: добавляем готовые решения, полезные ссылки.
 
Примечание: Большие куски кода заключайте в тэг [more]  
 
Смежные темы:
В помощь системному администратору » Автоматизация администрирования
Программы » Командная строка, батники\сценарии
 
Полезные ссылки
 
Полезные утилиты
 
Готовые решения и частые вопросы:
  • Встроенный справочник по командам
  • Создание помощи по всем командам консоли 2000 и XP
  • Делаем паузу в командном файле стандартными средствами Windows
  • Альтернативные решения »
  • Работа с текстом, датой, и файлами »
  • Администрирование, автоматизация и сеть »
  • Работа с переменными и параметрами ком. строки »
     
    Описания работы команд и символов участниками темы:
    · setlocal enabledelayedexpansion и переменные окружения
    · символы & и && в командной строке
    · Переменная %0

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 12:40 25-01-2010 | Исправлено: bomzzz, 13:37 20-08-2010
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    rdenk1

    Код:
     
    for %%i in (*.7z) do (
       echo %%~nxi | 1>nul findstr /v /i "0.7z 1.7z %variable%.7z" && ren "%%i" 2.7z
    )
     

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 16:12 27-03-2010
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM

    Цитата:
    Я, когда пользовался XP Home, многие утилиты просто перенс с XP Pro. Все работало.

    А можно мне тоже так сделать, какая улита нужна для выполнения этого кода

    Код:
    @echo off
    tasklist | find /i "process.exe">nul
    if %errorlevel%==1 process.exe  

    Всего записей: 3299 | Зарегистр. 30-12-2007 | Отправлено: 17:14 27-03-2010
    HW2yS

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте,
    помогите пожалуйста
    есть десяток exe rar-ов с прописанными путями экстракта
    vm1.rar.exe "c:\vms"
    vm2.rar.exe "d:\vms"
    и т.д.  
    каким образом из командной строки распаковать их по очереди а не одновременно
    одной командой
    заранее спасибо

    Всего записей: 87 | Зарегистр. 21-11-2006 | Отправлено: 17:36 27-03-2010
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    есть десяток exe rar-ов с прописанными путями экстракта  
    а где они есть? на бумажке?
    если в файле - то как-то так:
    for /f %%a in (file.lst) do rar x %%a %%b\  

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 18:20 27-03-2010
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lorents

    Цитата:
    какая улита нужна для выполнения этого кода  

    tasklist.exe

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 19:46 27-03-2010
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM

    Цитата:
    tasklist.exe  

    Чета Я сам не догадался, спасибо
     
    И еще одна просьба, как можно сделать так, чтобы если в в папке image нет картинок, то как сделать чтобы появлялось соответствующее сообщение об этом и стояла пауза
     
    Объясните пожалуйста, когда я конверитую батник в exe, то при запуске мне пишется, что "Системе не удается найти указанный путь.", думаю ошибка в Docs\png.log
     
    Подробнее...

    Всего записей: 3299 | Зарегистр. 30-12-2007 | Отправлено: 22:15 27-03-2010 | Исправлено: lorents, 12:28 28-03-2010
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    думаю ошибка в Docs\png.log  
    а чем тебе не понравилась версия без Docs\png.log, которую я тебе делал?
     
     
    Добавлено:

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

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 00:12 28-03-2010
    TolikLes

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Пусть имеется текстовый файл protokol.txt, в котором хранится журнал обработанных файлов в следующем формате:
    Имя:    file1.txt    Дата:    02.01.2001    Время:    14:50
    Имя:    file22.txt    Дата:    03.02.2001    Время:    23:50
    Имя:    letter2.txt    Дата:    02.01.2001    Время:    12:00
    Имя:    soft.txt    Дата:    10.01.2000    Время:    13:00

     
    Слово дата здесь начинается в каждой строке с двадцатой позиции. Необходимо написать командный файл, с помощью которого сделать вы¬борку из этого файла (т. е. создать новый текстовый файл с нужной ин¬формацией) за заданный в командной строке месяц (мм) и год (гггг) в файл out.txt, сформированный файл упорядочить по дате обработки. Нужные месяц и год указать как параметры командной строки.
    Если пакетный файл запуска¬ется вообще без параметров, то вывести описание его синтаксиса.
     
    Помогите пожалуйста с заданием,буду очень благодарен.....

    Всего записей: 3 | Зарегистр. 28-03-2010 | Отправлено: 11:06 28-03-2010 | Исправлено: TolikLes, 18:26 29-03-2010
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Помогите пожалуйста с заданием,не могу понять как сделать сортировку в FOR  по 20-му символу
    наверно ты вот это спрашиваешь:

    Код:
    for /f "delims=" %%a in ('type protokol.txt') do set "str=%%a" & call :proc %%a
     
    exit
     
    :proc
    echo.%str:~20,18%  - c 20й позиции
    echo.%4  -четвертая колонка протокола
    goto:eof
     
     

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 12:46 28-03-2010 | Исправлено: wolf0425, 12:50 28-03-2010
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    wolf0425

    Цитата:
    а чем тебе не понравилась версия без Docs\png.log, которую я тебе делал?  

    не то чтобы не понравилось, он просто не работал, я забыл об этом сказать
    там ошибка у pngout

    Цитата:
    "D:\Прочее\Image" не является внутренней или внешней
    командой, исполняемой программой или пакетным файлом.
    Invalid filter

    и далее идет справка pngout

    Цитата:
    сообщение появляется, паузу после него сам и впиши.  

    если я пишу

    Код:
    if not defined png echo Not found: Images\*.png Images\*.jpg Images\*.jpeg
    pause>nul

    то эта пауза действует на png, т.е. если в папке Images или ее подпапках только png, то после их обработки у меня стоит пауза, а мне пауза нужна, если нет в папке Images или в его подпапках нет вообще картинок
     
    01MDM
    не подскажите,  tasklist.exe есть во всех версиях windows vista и windows 7?

    Всего записей: 3299 | Зарегистр. 30-12-2007 | Отправлено: 12:50 28-03-2010 | Исправлено: lorents, 12:56 28-03-2010
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    там ошибка у pngout  

    pngout там уже после того места, где нужен лог.
    и если ругается на pngout - его лечить и надо.
    в варианте с логом у тебя батник точно правильно работает?  
     

    Цитата:
    то эта пауза действует на png
    это неверно, до этой проверки доходит только в том случае если фалов .jpg нету.
     
     
     
     

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 13:02 28-03-2010
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    wolf0425

    Цитата:
    в варианте с логом у тебя батник точно правильно работает?  

    ага, вот как раз сейчас тестирую, все работает

    Цитата:
    это неверно, до этой проверки доходит только в том случае если фалов .jpg нету.  

    так точно, а если в папке Images или ее подпапках только png, то у меня выходит пауза

    Всего записей: 3299 | Зарегистр. 30-12-2007 | Отправлено: 13:09 28-03-2010 | Исправлено: lorents, 13:09 28-03-2010
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lorents

    Цитата:
    не подскажите,  tasklist.exe есть во всех версиях windows vista и windows 7?

    Не знаю. В 7 Home Premium и выше точно есть, но будут ли они работать в XP не уверен.

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 13:43 28-03-2010
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM

    Цитата:
    Не знаю. В 7 Home Premium и выше точно есть, но будут ли они работать в XP не уверен.  

    я просто думаю сделать, для XP использовать tasklist.exe версии XP pro, а для windows vista и windows 7 использовать их родные

    Всего записей: 3299 | Зарегистр. 30-12-2007 | Отправлено: 13:52 28-03-2010 | Исправлено: lorents, 13:56 28-03-2010
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    if not defined png echo Not found: Images\*.png Images\*.jpg Images\*.jpeg
    pause>nul  

    lorents, ты паузу не туда воткнул, если не хотел чтобы батник вставал на паузу и при наличии файлов

    Код:
    if not defined png (echo Not found: Images\*.png Images\*.jpg Images\*.jpeg & pause>nul )

    или так

    Код:
    if defined png goto:eof
    echo Not found: Images\*.png Images\*.jpg Images\*.jpeg
    pause>nul  
    goto:eof

     
    Добавлено:

    Цитата:
    ага, вот как раз сейчас тестирую, все работает  

    а вариант
    Код:
    :png
    for /f "delims==,IDAT tokens=5" %%i in ('"%~dp0Docs\optipng.exe" -i0 -zc1-9 -zm1-9 -zs0-3 -f0-5 %1 ') do set f=%%i
    set f=%f:~1,1%
    "%~dp0Docs\pngout.exe" /k0 /n2 /f%f% %1
    goto:eof  
    - не работает как раз сейчас? :)
     

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 15:54 28-03-2010 | Исправлено: wolf0425, 10:30 29-03-2010
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    wolf0425

    Цитата:
    ты паузу не туда воткнул, если не хотел чтобы батник вставал на паузу и при наличии файлов  

    спасибо:smile:

    Цитата:
    - не работает как раз сейчас? :)  

    только что еще раз сделал, не работает, я думаю это из-за  того что png.log выглядит так
     
    Подробнее...
     
    это еще не весь файл, для его полного создания требуется не мало времени, в зависимости от разрешения картинки

    Всего записей: 3299 | Зарегистр. 30-12-2007 | Отправлено: 16:17 28-03-2010 | Исправлено: lorents, 16:17 28-03-2010
    JI063uk



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите с проблемой. Необходим батник который будит в txt файле начинать каждое слово с новой строки. Т.е. место пробела ставить enter  

    Всего записей: 55 | Зарегистр. 24-01-2008 | Отправлено: 20:55 28-03-2010 | Исправлено: JI063uk, 21:45 28-03-2010
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    JI063uk

    Код:
     
    @echo off
     
    for /f "tokens=*" %%i in (1.txt) do (
        for %%j in (%%i) do echo %%j
    )
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 05:20 29-03-2010
    JI063uk



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM
    Спасиб. То что надо

    Всего записей: 55 | Зарегистр. 24-01-2008 | Отправлено: 11:33 29-03-2010
    mugil_cephalus

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    у кого win 5.1 eng покажите из hh ntcmds.chm::/dir.htm вот этот кусок
    /t [[:]поле_времени]  
    Задание поля времени для вывода и сортировки. Ниже приведен список значений, которые могут быть использованы при задании параметра поле_времени. Значение Описание  
    c Создание  
    a Последнее обращение  
    w Последняя запись  

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 12:59 29-03-2010 | Исправлено: mugil_cephalus, 13:01 29-03-2010
       

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 8
    vu1tur (04-09-2010 17:46): http://forum.ru-board.com/topic.cgi?forum=62&topic=21297


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru