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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Free_Soft

    Цитата:
    The system cannot find the path specified  

    А ты указал реальный путь к папке с файлами или оставил "Folder"?
     

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 10:04 04-09-2010
    Free_Soft



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

    Код:
    pushd "%temp%" && (
    for /f "tokens=*" %%i in ('dir /b *.cmd ^| findstr [0-9]') do del /f /a s h "%%i"
    )
    popd

    работает, но как-то через раз. напр., файл с названием run - Copy (2).cmd удаляет, а с названием 459818E.cmd - нет
     
    Добавлено:
    и еще где приписать >nul чтобы в случае отсутствия файлов не вылазила ошибка?

    Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 10:16 04-09-2010
    bomzzz



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    чета вкупица не могу зачем тута
    pushd
    &&
    ^|  
    не праснулся что ли еще  

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 10:35 04-09-2010
    Free_Soft



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

    Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 10:39 04-09-2010
    01MDM



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

    Цитата:
    работает, но как-то через раз. напр., файл с названием run - Copy (2).cmd удаляет, а с названием 459818E.cmd - нет  

    Он его изначально не видел, из-за его атрибутов.

    Код:
     
    for /f "tokens=*" %%i in ('dir /b /a *.cmd ^| findstr [0-9]') do del /f /a "%%i"  
     

     
    bomzzz

    Цитата:
    чета вкупица не могу зачем тута  

    pushd - на случай если батник в другом каталоге
    && - на тот случай если целевого каталога нет, как защита от ошибочного удаления файлов
    ^| - ну а это, вопрос кто не проснулся?
     
     
     

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 10:50 04-09-2010
    Free_Soft



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM
    ну в моем случае каталог есть всегда, только файлов в нем может не быть. как скрыть ошибку в этом случае?
    С
    Код:
    заработало

    Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 10:53 04-09-2010 | Исправлено: Free_Soft, 10:53 04-09-2010
    bomzzz



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ну я конечно. кто еще. ты может в часом поясе где вечер уже

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 10:59 04-09-2010
    01MDM



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

    Код:
     
    2>nul pushd "C:\Folder" && (
     

    Если батник прямо в том каталоге, то можешь вообще все убрать, кроме for /f ....

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 10:59 04-09-2010
    Free_Soft



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM
    нет, он в другом. 2>nul не работает почему то. 1>nul 2>nul тоже

    Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 11:04 04-09-2010
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Free_Soft
    А ошибка какая? "The system cannot find the path specified"?  

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 11:07 04-09-2010
    Free_Soft



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    нет. File not found.
     
    Добавлено:
    вообще это не критично, но хотелось бы разобраться. Может еще каталог напрямую указать? В данном случае он неизменен -  %temp%

    Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 11:46 04-09-2010
    yurkesha



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Free_Soft
    Пропиши лучше IF EXIST вначале
    По-любасу корректнее будет...

    ----------
    Всем непричастным рекомендую прогулки на свежем воздухе

    Всего записей: 2757 | Зарегистр. 15-12-2003 | Отправлено: 11:59 04-09-2010
    Free_Soft



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    yurkesha
    я тоже люблю эту команду)) только сомневаюсь, в каком начале ее писать...

    Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 12:02 04-09-2010
    01MDM



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

    Цитата:
    Может еще каталог напрямую указать? В данном случае он неизменен -  %temp%

    Ну так и укажи:

    Код:
     
    pushd "%temp%" && (
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 12:48 04-09-2010
    Free_Soft



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    а
    Код:
    if exist
    сюда некуда влепить?

    Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 13:04 04-09-2010 | Исправлено: Free_Soft, 13:05 04-09-2010
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Нужно запустить скрыто другой батник из батника и передать ему параметр 567
    hstart /NOWINDOW 2.bat "567"
    так не получается, может кто знает. CMDOW вроде всё равно окошко выскочит на мгновенье?
    Разобрался
    hstart /NOWINDOW "2.bat "567""

    Всего записей: 2232 | Зарегистр. 17-07-2006 | Отправлено: 13:47 04-09-2010 | Исправлено: king_stiven, 14:11 04-09-2010
    bomzzz



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    king_stiven
    запусти батник не другим батником а ярлыком. тогда не будет

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 13:48 04-09-2010
    Free_Soft



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    bomzzz
    на msgbox.exe стал ругаться касперский... я правда к нему иконку прикрутил. Он запакован чем то или нет у тебя?

    Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 13:59 04-09-2010
    bomzzz



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    не помню, а какой у него размер? напиши им в контору они быстро исправят. там оперативно отвечают и реально люди сидят почту принимают. я обращался по поводу скрипт криптора исправили за два часа
     
    Добавлено:
    вроде не жал - 2 кб.

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 14:02 04-09-2010
    Free_Soft



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    2 kb. И не только каспер кстати... 10 из 43. В данном случае, размер не имеет значения для меня. пусть будет больше

    Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 14:06 04-09-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