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

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

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

vu1tur (04-11-2008 23:07): Задачи на bat-файлах 6  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

Nagual



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

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

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

  • Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 12:28 19-03-2008 | Исправлено: Nagual, 01:02 24-09-2008
    king_stiven

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

    Код:
    PushD c:\temp
    if not errorlevel 1 RD /s /q .
    PopD

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 20:04 07-07-2008
    DeBuck



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

    Цитата:
    устые папки циклом FOR, сначала уничтожив файлы командой  del /q /s c:\tem

    Похоже на то...
    И меня так:
    rem DEL %temp%\*  /F /Q
    for /D %%f in (%temp%\*) do (RD %%f /S /Q)

    Всего записей: 79 | Зарегистр. 25-11-2004 | Отправлено: 20:29 07-07-2008
    Elroir



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

    Цитата:
    надо создать на Висте два БАТника для настройки ВЛАН: один должен прописывать в свойствах статический IP, маску подсети, основной шлюз и DNS, а второй должен настраивать ВЛАН на автоматическое получение этих настроек.

    Не знаю будет ли это работать на Висте - вроде-бы должно.
    Настраиваешь (вручную) конфигурацию сети для первого случая, запускаешь команду

    Код:
    netsh dump>first.cfg
    .
    Настраиваешь конфигурацию для второго случая и запускаешь команду

    Код:
    netsh dump>second.cfg
    .
    Файлы first.cfg и second.cfg хранят эти конфигурации. Это текстовые файлы и их можно редактировать, чтобы убрать ненужные адаптеры.
    Создаешь батники first.bat  

    Код:
     
    @echo off
    netsh exec first.cfg
     

    и second.bat

    Код:
     
    @echo off
    netsh exec second.cfg
     

    Кладешь их рядом с файлами конфигураций. Когда надо - запускаешь соответствующий батник.
     
     
    Добавлено:
    Valdon
    Lapochka ili Chai
    DeBuck
    Тут столько раз обсуждалась проблема удаления содержимого каталога...

    ----------
    "В интернете есть все, но не всегда"

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 21:20 07-07-2008 | Исправлено: Elroir, 21:23 07-07-2008
    Magniton



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Доброго времени суток.
    Возможно ли на CMD реализовать не простое удаление файлов , а полное ("затирание" нулями и единицами) ?
    Спасибо!

    Всего записей: 6 | Зарегистр. 07-07-2008 | Отправлено: 22:44 07-07-2008
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Magniton
    Только с помощью сторонних спец. утилит.

    ----------
    "В интернете есть все, но не всегда"

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 00:10 08-07-2008
    SAOPP

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

    Код:
    netsh interface ipv4 set address "Подключение по локальной сети" static 192.168.0.1 255.255.255.0 192.168.0.2 0
    netsh interface ipv4 set dnsserver "Подключение по локальной сети" static 192.168.0.3
    netsh interface ipv4 add dnsserver "Подключение по локальной сети" 192.168.0.4 index=2

    Ребят, что-то не разобрался, как к этому интерфейсу ещё добавить дополнительный ip адрес + его маску?

    Всего записей: 1048 | Зарегистр. 28-11-2004 | Отправлено: 08:41 08-07-2008 | Исправлено: SAOPP, 09:24 08-07-2008
    Valdon



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Elroir,
    Цитата:
    Тут столько раз обсуждалась проблема удаления содержимого каталога...
    Если не секрет, какой Вы способ используете?  
    ЗЫ: Если есть какойто простейший способ, может его в шапку забросить т.к. вопрос весма актуален и часто обсуждаем... ?

    Всего записей: 428 | Зарегистр. 25-07-2005 | Отправлено: 09:55 08-07-2008 | Исправлено: Valdon, 09:58 08-07-2008
    Elroir



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

    Цитата:
    Ребят, что-то не разобрался, как к этому интерфейсу ещё добавить дополнительный ip адрес + его маску?


    Код:
     
    netsh interface ipv4 add address "Подключение по локальной сети" 10.20.30.40  255.255.255.0
     

     
    Добавлено:
    Valdon

    Цитата:
    Если не секрет, какой Вы способ используете?

    Не секрет :-)
    Использую именно тот способ, который привел king_stiven

    Цитата:
    PushD c:\temp  
    if not errorlevel 1 RD /s /q .  
    PopD

     

    Цитата:
    Если есть какойто простейший способ, может его в шапку забросить т.к. вопрос весма актуален и часто обсуждаем... ?

    Да, видимо надо

    ----------
    "В интернете есть все, но не всегда"

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 10:10 08-07-2008
    SAOPP

    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Elroir
    Спасибо, как-то не туда смотрел... всё про субинтерфейс думал.

    Всего записей: 1048 | Зарегистр. 28-11-2004 | Отправлено: 10:24 08-07-2008
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добавил в шапку, в раздел "Работа с текстом, датой и файлами", пункт "Удаление всего содержимого каталога, включая подкаталоги, командой rd (не удаляя сам каталог)"

    ----------
    "В интернете есть все, но не всегда"

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 10:27 08-07-2008
    01MDM



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

    Цитата:
    Возможно ли на CMD реализовать не простое удаление файлов , а полное ("затирание" нулями и единицами) ?
    Спасибо!  

     
    Не знаю насколько действенно, но простое обнуление файла и его удаление дало положительный результат, файл не был найден вообще (при помощи Recuva)
     

    Код:
     
    cd.>test.mp3
    del test.mp3
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 12:17 08-07-2008
    pandafs2

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

    Цитата:
    ЗЫ: Если есть какойто простейший способ, может его в шапку забросить т.к. вопрос весма актуален и часто обсуждаем... ?

    простейший способ - rmdir %папка% /s /q
    если вы в этом каталоге - rmdir . /s /q после чего cd .. и rmdir %папка%
     
     
    Добавлено:
    Magniton

    Цитата:
    Доброго времени суток.
    Возможно ли на CMD реализовать не простое удаление файлов , а полное ("затирание" нулями и единицами) ?
    Спасибо!  

    SDelete проще http://technet.microsoft.com/en-us/sysinternals/bb897443.aspx

    Всего записей: 13 | Зарегистр. 24-09-2006 | Отправлено: 12:35 08-07-2008
    Dantis

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Привет всем.
     
    Кто знает почему может не выполняться команда.
     
    schtasks /create /ru Dantis /rp YourPassword /sc daily /tn Reboot /st 01:18:00 /tr "shutdown /r /t 30"
     
     
    ?????
    P.S.
     Задачу он создает, но в заданное время не перезапускаться...в  *Назначенных задачах*  пишет что запуск не удолся.
     
     
    P.S.S.
     
     
    а когда пытась редоктировать задание в ручную, то мне пишит что  то типа  *Ошибка установить учетные сведения здания*  и *У вас нет прав для этого.
     
     
    P.S.S.S.
     
    Реньше все ок работало =)

    Всего записей: 26 | Зарегистр. 25-03-2008 | Отправлено: 01:32 09-07-2008
    mike345S



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Не получается создать задание на удаленном компе. Домена нет.
     
    schtasks /create /S comp /U sysop /P pass_sysop /RU admin /RP pass_admin /SC onstart /TN upg /TR c:\_upd\upd.cmd
    ПРЕДУПРЕЖДЕНИЕ. Запланированная задача "upg" была создана, однако не может выполняться, так как не удалось задать сведения об учетной записи.
     
    При перезагрузке или попытке выполнить задание вручную - запуск не удался
     
    Оба пользователя в группе администраторы. Менял их местами, делал одинаковыми - результат тотже.  
    Причем, если создавать так:
    schtasks /create /S comp /U sysop /P pass_sysop /RU sysop /RP pass_sysop /SC onstart /TN upg /TR c:\_upd\upd.cmd
    и посмотреть в назначенных заданиях от кого стоит выполнение, то там указано comp\admin (это переименованная запись "Администратор")
    Что делать? Кто нибудь сталкивался?  

    Всего записей: 550 | Зарегистр. 31-01-2006 | Отправлено: 11:18 09-07-2008
    Joolz

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Dantis
    Должно все работать. Попробуй Dantis@domain.ru
    mike345S
    Вместо /U и /P пользуй /RU и /RP.
     
    Добавлено:
    Lapochka ili Chai
    Что-то типа того.

    Код:
     for /f "delims=\(\) tokens=1,*" %%a in ('dir /b *.txt ^| findstr ".*(.*).*.txt"') do copy %%a(%%b %%a.txt /-Y && del %%a(%%b

    Но в данном случае по-любому удаляется исходный файл и переименовываются файлы с одной закрывающей скобкой типа abc(def(hij).txt

    Всего записей: 100 | Зарегистр. 24-01-2008 | Отправлено: 14:06 09-07-2008
    mike345S



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

    Цитата:
    Вместо /U и /P пользуй /RU и /RP.

    Тоже самое. Не работает
     
    schtasks /create /S comp /RU admin /RP password /SC onstart /TN upg /TR c:\_upd\upd.cmd
    ПРЕДУПРЕЖДЕНИЕ. Запланированная задача "upg" была создана, однако не может выполняться, так как не удалось задать сведения об учетной записи.

    Всего записей: 550 | Зарегистр. 31-01-2006 | Отправлено: 15:52 09-07-2008
    Joolz

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mike345S
    Такое предупреждение появляется только при несовпадении имени пользователя/пароля.

    Всего записей: 100 | Зарегистр. 24-01-2008 | Отправлено: 16:12 09-07-2008
    Cheerful_a_bear



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите, не работает такой код.
    Спору нет изощряюсь, но не могу добиться желаемого.
     
    xcopy/v /y "f:\Папка\файл.bat"  "F:\Другая папка\"
    start F:\Другая папка\файл.bat
    del/q/f/s "F:\Другая папка\файл.bat"
     
    В программе с таким кодом не получилось указать конкретное место для выполнения.
    То есть менял 'dir /b *.*' и на "dir F:\Другая папка\ /b *.*"  и так "dir F:\Другая папка\*.* /b "
     
    @echo off
    setlocal enabledelayedexpansion
    set N=10
     
    call :raschet %date% days_to_today
     
     
    for /f "tokens=*" %%a in ('dir /b *.*') do (
       set filedate=%%~ta
       call :raschet !filedate:~0,10! days_to_date_of_file
       set /a raznitsa=%days_to_today%-!days_to_date_of_file!
       if !raznitsa! gtr %N% echo del /q "%%a"
    )
    goto :eof
     
    :raschet
    for /f "delims=. tokens=1-3" %%a in ('echo %~1') do (
     
       set /a years=%%c*365+%%c/4
       set /a prev_year=%%c-1
       set /a result_year=%%c/4
       set /a result_prev_year=!prev_year!/4
       set /a vis=!result_year!-!result_prev_year!
       if !vis!==1 (
          if %%b==01 set /a years=!years!-1
          if %%b==02 set /a years=!years!-1
       )
     
       if %%b==01 set months=0
       if %%b==02 set months=31
       if %%b==03 set months=59
       if %%b==04 set months=90
       if %%b==05 set months=120
       if %%b==06 set months=151
       if %%b==07 set months=181
       if %%b==08 set months=212
       if %%b==09 set months=243
       if %%b==10 set months=273
       if %%b==11 set months=304
       if %%b==12 set months=334
     
       set days=%%a
       set firstsym=!days:~0,1!
       if !firstsym!==0 set days=!days:~1,1!
     
       set /a %~2=!years!+!months!+!days!

    Всего записей: 103 | Зарегистр. 30-04-2008 | Отправлено: 17:01 09-07-2008
    mike345S



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

    Цитата:
    Такое предупреждение появляется только при несовпадении имени пользователя/пароля.

    локально все хавает, а удаленно - нет.
    Из одного и того же bat файла...

    Всего записей: 550 | Зарегистр. 31-01-2006 | Отправлено: 18:47 09-07-2008
    Dantis

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Joolz
     
     
     не работает =(

    Всего записей: 26 | Зарегистр. 25-03-2008 | Отправлено: 20:28 09-07-2008
       

    Страницы: 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

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 5
    vu1tur (04-11-2008 23:07): Задачи на bat-файлах 6


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru