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

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



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

    Цитата:
    Попробуйте в перечислении delims убрать точку, оставьте только двоеточие.  
    Или задайте tokens=2*

    Попробовал.  
    В первом
      \Documents and Settings\user>set GATE=. . . . . . . . . . . . : 1.8.16.172
     
    C:\Documents and Settings\user>echo . . . . . . . . . . . . : 1.8.16.172
    . . . . . . . . . . . . : 1.8.16.172
     
    Во втором случае получаю
      \Documents and Settings\user>set GATE=8.16.172
     
    C:\Documents and Settings\user>echo 8.16.172
    8.16.172

    Всего записей: 398 | Зарегистр. 14-04-2003 | Отправлено: 11:02 28-05-2010
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    sjsash
     В
    Цитата:
    В помощь системному администратору » Автоматизация администрирования  

    спрашивал? А по поводу неответа попробуй разбить свою задачу на кусочки и постепенно задавай их в удобоваримой форме в форме школьной задачи со своими готовыми скриптами, с описанием, где эти скрипты спотыкаются. Хороший пример:
    http://forum.ru-board.com/topic.cgi?forum=62&topic=19668&start=1440#13
     Мне на других форумах тоже не отвечают.

    Всего записей: 2232 | Зарегистр. 17-07-2006 | Отправлено: 11:03 28-05-2010
    us0r



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

    Цитата:
    boy999

    shutdown /f /r /t 0
    Хлоп, и перезагрузко...
     
    Добавлено:

    Цитата:
    koddy

    Поищи на 63-67 страницах. Там у меня похожая задача.

    Всего записей: 407 | Зарегистр. 06-12-2007 | Отправлено: 11:07 28-05-2010
    Akela50

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    nNau
    boy999
     
    Угу, усёк... Токо, плиз, противоречие вижу... причем Reset?
     
    Ребят, пооднозначнее б... Плиииз. Мне это надо для челов возраста 8 и 10 лет, чтоб комп зря не горел, пока мя с женой дома нет. А они токо кнопки нажимать уверенно умеют... Поэтому - еще @echooff надо воткнуть, это я сам.

    Всего записей: 175 | Зарегистр. 08-10-2007 | Отправлено: 11:12 28-05-2010 | Исправлено: Akela50, 11:26 28-05-2010
    us0r



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Akela50
    shutdown /f /r /t 0 - перезагрузка моментально и без вопросов.
    shutdown /f /s  /t 0 - вырубание компа моментально и без вопросов.
    rundll.exe powrprof.dll,SetSuspendState Sleep - спящий режим.
     
    Пример:

    Код:
    @echo off
    cls
    REM Сейчас вырубим комп батнегом, не ожидая и не спрашивая подтверждений.
    shutdown /f /s  /t 0

    Всего записей: 407 | Зарегистр. 06-12-2007 | Отправлено: 11:19 28-05-2010
    Akela50

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    us0r
     
    Упс!!! Вроде то - что надо. Грамотно. К вечеру вернусь домой и оформлю. Посмотрю, мож еще откомментят. Перезагруз не нужен, только Спячка и Выкл. По спячке - я так же и оформлю.
     
    СПАСИБКИ!!!!

    Всего записей: 175 | Зарегистр. 08-10-2007 | Отправлено: 11:25 28-05-2010
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    koddy
    for /f "tokens=1* delims=:. " %%a in ('ipconfig ^| find /i "1.8"') do if not defined GATE set GATE=%%b
     
    Что то с пробелом у тебя здесь  
    delims=:. "
    или со кодировкой батника

    Всего записей: 2232 | Зарегистр. 17-07-2006 | Отправлено: 11:27 28-05-2010
    mugil_cephalus

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

    Код:
    chcp 1251>nul
    for /f "tokens=3,4 delims=. " %%a in ('ipconfig ^|find "IP-адрес"') do set "var=%%~a.%%~b"
    echo._%var%_
    pause

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 11:36 28-05-2010
    us0r



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

    Цитата:
    Упс!!!

    Проверил?

    Всего записей: 407 | Зарегистр. 06-12-2007 | Отправлено: 12:07 28-05-2010
    SLIDER999

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    скажите как реализовать вопрос в bat файле.
    хочу сделать следующее:

    Цитата:
    : DotNET
    reg export HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\777 RunOnceEx_DotNET.reg
    if exist RunOnceEx_DotNET.reg (
    echo "Хотите установить DotNET?"
    если y - goto office
    если n - reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\777

    )

    Всего записей: 261 | Зарегистр. 16-03-2005 | Отправлено: 16:36 28-05-2010
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    как бы в sed  сделать скрипт на удаление группы строк:
    первая строка группы содержит string1
    последняя строка группы является ближайшей содержащей string2
     
    ну и невредно сразу зациклить - убить все такие группы.

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 16:45 28-05-2010
    us0r



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    SLIDER999
    set /p answer="Choose your destiny: "
    IF %answer%=="y" goto office
    ELSE IF %answer%=="n" (reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\777)
    ELSE (chcp 1251 && msg * А вы что, собственно, имели ввиду?)
     
    Что- то с if- else не пошло...

    Всего записей: 407 | Зарегистр. 06-12-2007 | Отправлено: 16:47 28-05-2010 | Исправлено: us0r, 17:17 28-05-2010
    Akela50

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    us0r
     
    Ага! Соорудил батник Sleep.bat из трёх строк:
     
    @echo off  
    cls  
    rundll32.exe powrprof.dll,SetSuspendState Sleep
     
    Запустил. Всё ОК. Ща ярлычок приклею и - в Быстрый запуск.
     
    Спасибо!
    ))))))))

    Всего записей: 175 | Зарегистр. 08-10-2007 | Отправлено: 16:49 28-05-2010
    SLIDER999

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

    Цитата:
    @echo off
    TITLE Џ®¦ «г©бв , Ї®¤®¦¤ЁвҐ!
     
    : DotNET
    reg export HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\777 RunOnceEx_DotNET.reg /y
    if exist RunOnceEx_DotNET.reg (
    set /p answer="•®вЁвҐ гбв -®ўЁвм DotNET? („  - y | ЌҐв - n) :"
    if %answer%=="y" goto Exit
    else if %answer%=="n" (reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\777)
    else (chcp 1251 && msg * Ђ ўл зв®, б®Ўб⢥--®, Ё¬Ґ«Ё ўўЁ¤г?)
    )
     
    :Exit
    pause
    Exit

    Пишет "непредвиденное появление goto"

    Всего записей: 261 | Зарегистр. 16-03-2005 | Отправлено: 17:14 28-05-2010
    us0r



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Там что- то с if - else... Х.з., всё пытаюсь оформить эту конструкцию и не получается...
    Может wolf0425 что подскажет?

    Всего записей: 407 | Зарегистр. 06-12-2007 | Отправлено: 17:20 28-05-2010
    cluster

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    SLIDER999
    us0r
     
    А зачем там после else

    Цитата:
    if %answer%=="n"

     
    Можно же оформить без этого:
    else (команды)

    Всего записей: 1720 | Зарегистр. 21-11-2003 | Отправлено: 17:35 28-05-2010
    us0r



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всё, я запутался. Хэлп.

    Всего записей: 407 | Зарегистр. 06-12-2007 | Отправлено: 17:47 28-05-2010 | Исправлено: us0r, 18:00 28-05-2010
    SLIDER999

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

    Цитата:
    otNET
    reg export HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\777 RunOnceEx_DotNET.reg /y
    if exist RunOnceEx_DotNET.reg set /p answer="•®вЁвҐ гбв -®ўЁвм DotNET? („  - y | ЌҐв - n) : "
    if %answer%==y goto Office
    if %answer%==n (reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\777 /f)
     

     
    Как теперь убрать сообщения "Операция успешно завершена" ?

    Всего записей: 261 | Зарегистр. 16-03-2005 | Отправлено: 17:47 28-05-2010
    us0r



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Т.е. тебе нужно очистить консоль вообще? Тогда cls тебе в помощь)

    Всего записей: 407 | Зарегистр. 06-12-2007 | Отправлено: 18:03 28-05-2010
    SLIDER999

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

    Цитата:
    @echo off
    cls
    TITLE Џ®¦ «г©бв , Ї®¤®¦¤ЁвҐ!
     
    otNET
    reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\777
    if %ERRORLEVEL%==1 goto Office
    set /p answer="•®вЁвҐ гбв -®ўЁвм DotNET? („  - y | ЌҐв - n) : "
    if %answer%==y goto Office
    if %answer%==n reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\777 /f
     
    ffice
    reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\888
    if %ERRORLEVEL%==1 goto Exit
    set /p answer="•®вЁвҐ гбв -®ўЁвм Office? („  - y | ЌҐв - n) : "
    if %answer%==y goto Exit
    if %answer%==n reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\888 /f
     
    :Exit
    Exit

    Теперь хочу, чтоб через Х секунд автоматом ответ был ДА. Как реализовать? (через пинг локалхост?)

    Всего записей: 261 | Зарегистр. 16-03-2005 | Отправлено: 18:15 28-05-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