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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Скачал 4.2 заработало корректно
    sed.exe -r "s/\\$//" 4.txt

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 21:07 19-08-2010
    us0r



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    bomzzz
    Ну ради интереса же ведь! Так не интересно, когда за тебя всё сделано...
    Надо же познать тайны учения: "извернуться")))
    А вообще мало ли... сегодня это флопики, а завтра хз для кого/чего может пригодиться...

    Всего записей: 406 | Зарегистр. 06-12-2007 | Отправлено: 21:32 19-08-2010
    king_stiven

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

    Цитата:
    сегодня это флопики, а завтра хз для кого/чего может пригодиться

    кое где будут ипользовать... в сельских школах... с годик.

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 21:44 19-08-2010
    kurbat



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    bomzzz
    это Сбербанк стоп-листы пишет на дискеты тому кого  offline каждый день)))
    и в одном отделение их 8 осталось.... приходится рисовать их в ручную

    Всего записей: 89 | Зарегистр. 01-08-2007 | Отправлено: 23:05 19-08-2010
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    kurbat
    как то я себе в консольную DVD писалку замутил всякие тексты, которые синтезированный голос "Алёна" комментировал процесс, типа:
    Внимание! Вся секретная информация с вашего сд диска будет стёрта через 10,9,...1 секунду(плач). Начинается запись секретных кодов пентагона... и т д

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 23:39 19-08-2010
    bomzzz



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    us0r
    мне когда комп притащили из магазина никто естественно работает ли флоппик не проверял, потребность в флоппике возникла где то через пол года когда ставили вместе 2000-ка хп. как тогда выкрутились не могу сказать и почему  тогда понадобился флоппик тоже не могу сказать, кажется ставили через сеть как то хп. потом через еще примерно год флоппик понадобился когда ставили банк - тогда ключ сбросили по почте из банка. после этого у меня периодами возникал интерес почему же все таки флопик не работает. биос автоматически умеет обновляться и с флопика и сд - хотя материнка достаточно старая больше пяти лет. а образы флопиков отлично запускаются грубом и сислинуксом, есть виртуальный привод В, скорость считывания естесвенно больше ечм 60 кб в сек. так что я не вижу не единой причины когда может понадобится флоппик. даже если умрет двд привод, еще можно будет воткнуть второй винт и загрузится с него, а у меня еще запасной сд привод лежит.
    если бы из банка не осталось два флоппи диска то их не было бы где купить, в наличии они есть только в 12 миллионой москве, да и то в основном потому что она транзит для более чем 130 млн человек, еще в сопредельные страны транзит идет. и не известно в рабочем ли они еще состоянии. при чтении с флоппи велико количество ошибок, там тройное считывание делают - только после трех ошибочных считываний считается ошибка. информация хранится недолго. будешь ставить биос с флоппика - это может сильно разочаровать. а сд болванка сейчас стоит полтора бакса, а раньше стоила меньше бакса- а флопик 3 бакса. болванки покупать перестали когда флешки резко подешевели. то что на флопик влазит 1.5 мб, а на болванку 700, при скорости на три порядка выше и количестве ошибок близкой к нулю - можно во внимание не принмиать.
     
    Добавлено:
    если слетит биос и сгорят все двд приводы может понадобится флопик
     
    Добавлено:
    но если сгорят двд приводы все равно за ними придется переться в магазин
     
    Добавлено:
    и это только при том, что у меня юсб сгорели.
     
    Добавлено:
    если бы он работал я бы не плакал конечно. у меня полно образов флоппи на 1.5 мб с кучей полезного
     
    Добавлено:
    wolf0425
    знаешь в чем дело с FOLDER - она в юникоде строку возвращает.

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 03:35 20-08-2010 | Исправлено: bomzzz, 03:52 20-08-2010
    BVV63



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    wolf0425
    Ну, при помощи Вашего последнего совета я сваял этакое:

    Код:
    ChDir .>1.Txt
    For /F "Tokens=* UseBackQ" %%0 In (`Dir "E:\*.*" /A-D /B /O:N /S`) Do Call :0 "%%0"
    Exit
    :0
    Set Count=0
    Set Var=%~1
    :1
    Set Var=%Var:~0,-1%
    Set /A Count+=1
    If "%Var%" NEq "" GoTo :1
    If %Count% Gtr 100 1>>1.Txt Echo %%~F0
    Exit /B

    По замыслу в файл должны передаться полные имена файлов, длина полного имени которых превышает (в данном случае) более 100 символов. Однако переменная %%0 почему-то теряется, в файл Echo возвращает "%~F0" вместо имён.

    Всего записей: 3542 | Зарегистр. 17-08-2009 | Отправлено: 05:56 20-08-2010 | Исправлено: BVV63, 06:03 20-08-2010
    bomzzz



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ENHANCER.ZIP 322 КБ (330 078 байт)
    все вроде подправил, теперь из содержимого архива можно сложить правильное впечатление как что работает.
    множество мелких исправлений

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 06:00 20-08-2010 | Исправлено: bomzzz, 11:57 20-08-2010
    smirnvlad

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

    Цитата:
    в файл Echo возвращает "%~F0" вместо имён

     
    потому что в call'е свой контекст и уже нет %%0
     

    Код:
     
    ChDir .>1.Txt
    For /F "Tokens=* UseBackQ" %%0 In (`Dir "E:\*.*" /A-D /B /O:N /S`) Do Call :0 "%%0"
    Exit
    :0
    Set Count=0
    Set Var=%~1
    :1
    Set Var=%Var:~0,-1%
    Set /A Count+=1
    If "%Var%" NEq "" GoTo :1
    If %Count% Gtr 100 1>>1.Txt Echo %~F1
    Exit /B  

    Всего записей: 417 | Зарегистр. 31-03-2009 | Отправлено: 06:54 20-08-2010
    bomzzz



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

    Цитата:
     
    Параметры командной строки
    OFF.EXE /N
    где N - номер
     
    0 Log Off
    0 + 4 Forced Log Off
    1 Shutdown
    1 + 4 Forced Shutdown
    2 Reboot
    2 + 4 Forced Reboot
    8 Power Off
    8 + 4 Forced Power Off  
     
    nLogOff=0
    nReboot=2
    nShutdown=1
    nShutdown=5
    nForceLogOff=4
    nForceReboot=6
    nPowerDown=8
    nForcePowerDown=12  
     
    примеры:
    ForceRebot:  OFF.EXE /6
     

    ForceShutDown! использует другую функцию ( вместо ExitWindowsEx - NtShutdownSystem). и выключает компьютер кажется не на уровне ядра виндовс а на уровне биоса. чета типа такого еще сам не разобрался.
    все это делается с тем же успехом в батниках через WMI.

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 07:52 20-08-2010 | Исправлено: bomzzz, 07:56 20-08-2010
    BVV63



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    smirnvlad
    Тогда Echo возвращает "%~F1" .

    Всего записей: 3542 | Зарегистр. 17-08-2009 | Отправлено: 08:12 20-08-2010
    Free_Soft



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

    Код:
    start /wait "%systemdrive%\MSOCache\All Users\{90140000-0011-0000-0000-0000000FF1CE}-C\setup.exe"

    Вместо запуска exeшника просто открывается еще одно окно консоли. Подозреваю, что проблема в оформлении пути... как правильно написать?

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



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    wolf0425
     
    я себе все мозги прокомпостировал, ниче понять немогу, кодировал перекодировал туда сюда. дело в том что функция окна выбора папки не ставит знак окончания строки в конце строки, почему не знаю, как не знаю - главное что когда я его туда поставил стало работать так же как FILE.
    вот попробуй этот вариант
    http://films-onep.ifolder.ru/18959934
     
    ну хоть научился из юникода в анси перекодировать.
     
     
     
    Добавлено:
    из за того что его там не было - стандартный блокнот воспринимал строку как юникод, а расширенный блокнот открывал ее нормально. бред вообщем

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 10:36 20-08-2010
    noiseless

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

    Код:
    start /wait /D"%systemdrive%\MSOCache\All Users\{90140000-0011-0000-0000-0000000FF1CE}-C" setup.exe

    Всего записей: 182 | Зарегистр. 06-02-2006 | Отправлено: 11:47 20-08-2010
    Serge568

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    извините за настолько лёгкий вопрос, но я засторопился на нём.
    Нужно создать батник выключения компа через время (даже в секундах!), заданное непосредственно при запуске этого-же батника. Это всё.
    хм, забыл, и на всякий случай с быстрой отменой =)
    ЗЫ: СПАСИБО =)

    Всего записей: 10 | Зарегистр. 20-08-2010 | Отправлено: 11:52 20-08-2010 | Исправлено: Serge568, 12:04 20-08-2010
    Free_Soft



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    noiseless
    Спасибо, помогло)

    Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 11:53 20-08-2010
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    bomzzz
    Цитата:
    вот попробуй этот вариант  
    оба не работают - ничего не пишут ни на экран ни при перенаправлении в файл.
     
    Добавлено:
    BVV63
    Цитата:
    smirnvlad
    Тогда Echo возвращает "%~F1"
    а ты точно не влепил %%~f1 вместо  %~f1 ??

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 12:06 20-08-2010 | Исправлено: wolf0425, 12:10 20-08-2010
    bomzzz



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

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 12:11 20-08-2010
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Free_Soft ещё вариант так:
    start "" /wait "%systemdrive%\MSOCache\All Users\{90140000-0011-0000-0000-0000000FF1CE}-C\setup.exe"  

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 12:12 20-08-2010
    BVV63



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

    Цитата:
    а ты точно не влепил %%~f1 вместо  %~f1 ??

    Ага, влепил . Исправил, заработало .

    Всего записей: 3542 | Зарегистр. 17-08-2009 | Отправлено: 12:14 20-08-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