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

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

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

vu1tur (26-05-2009 11:39): часть 7 — http://forum.ru-board.com/topic.cgi?forum=62&topic=17154#1  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

vu1tur



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

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

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





    http://forum.ru-board.com/topic.cgi?forum=62&topic=17154

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 23:07 04-11-2008 | Исправлено: vu1tur, 11:38 26-05-2009
    king_stiven

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

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 15:11 30-11-2008
    Igor_V_Mitichev

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

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

     
    Не знаю, при чем тут bat-файлы, но в ntbackup это делается посредством параметра  
    /M  incremental (добавочная архивация)
     

    Всего записей: 32 | Зарегистр. 26-07-2008 | Отправлено: 19:27 30-11-2008
    AISKAKOV1989

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    есть место на форуме, где есть готовые bat файлы с описанием...?
    без всяких просьб итд..
    мне просто нужен хорший батник на 20-30 строк с утилитарным смыслом... неважно каким

    Всего записей: 2 | Зарегистр. 23-03-2007 | Отправлено: 22:50 30-11-2008 | Исправлено: AISKAKOV1989, 00:11 01-12-2008
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    AISKAKOV1989
    В шапке
    Работа с текстом, датой, и файлами »

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 01:20 01-12-2008
    OLEHbKA

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    А как работать с ntbackup ? в моем случае..

    Всего записей: 7 | Зарегистр. 24-11-2008 | Отправлено: 07:30 01-12-2008
    Tambourine



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как с помощью батника, без посторонних утилит и настроек системы, открыть кучу web ссылок ОДНОВРЕМЕННО, например, штук 50. И чтобы открывались в отдельных окнах, а не во вкладках.  
    Пробовал с помощью call, start, rundll32 url.dll,FileProtocolHandler - везде лажа получается, открывается только половина ссылок или во вкладках или вообще не открывается.  
     
    Посоветуйте что можно еще попробовать.

    Всего записей: 98 | Зарегистр. 19-07-2007 | Отправлено: 20:40 01-12-2008
    mike345S



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Может кто подскажет как сделать такую вещь:
     
    1. Собираются данные о именах папок профайлов, например так:
    dir "%allusersprofile%\.." /a:d-h /b > userall.txt, но желательно в переменную.
     
    2. В папки ProfileDir\Главное меню\Программы\Автозагрузка\ каждого профайла копируется файл reg.cmd
     
    3. reg.cmd после выполнения удаляется...
     
    Как сие реализовать?

    Всего записей: 550 | Зарегистр. 31-01-2006 | Отправлено: 01:59 02-12-2008 | Исправлено: mike345S, 02:02 02-12-2008
    KapralBel



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

    Код:
    @Echo Off
    PushD "C:\Documents and Settings\"  
    For /D %%a in (*) Do Call :_users "%%a"
    PopD
     
    GoTo :EOF
     
    :_users
    If /i %* == "All Users"      GoTo :EOF
    If /i %* == "Default User"   GoTo :EOF
    If /i %* == "LocalService"   GoTo :EOF
    If /i %* == "NetworkService" GoTo :EOF
    PushD %*
    PushD ".\Главное меню\Программы\Автозагрузка\"
    Copy C:\Reg.cmd .
    PopD
    popD
    GoTo :EOF
     

     
    Файл Reg.cmd

    Код:
     
    @Echo Off
    Set base_folder=%~dp0
    ....
    PushD %base_folder%
    del reg.cmd /f
    PopD
     

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 02:23 02-12-2008
    mike345S



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KapralBel, спасибо, сработало!
    Но вот только не у всех профайлы в C:\Documents and Settings\ лежат...
    Как-нибудь это тоже можно получить и использовать из переменной?
     
     
    Добавлено:
    Да, что-то я затупил
    PushD "%AllUsersProfile%\.." - решает этот вопрос.

    Всего записей: 550 | Зарегистр. 31-01-2006 | Отправлено: 02:33 02-12-2008
    saym101



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Помогите далекому от программирования.
    Нужно проверить при запуске наличия диска Х. Если он есть, то идем дальше, если нет то подключаем и идем дальше. Нужно для копирования по сети.  
    Вот что есть сейчас:
     

    Код:
     
     net use X: \\komp\updat pass /user:user /persistent:yes  
     
    set dir=T:\home
    set od=X:\
     
    del /Q /F %dir%\*.*
     
     PING 1.1.1.1 -n 1 -w 2000 2>NUL | FIND "TTL=" >NUL
     
    copy /Y %od%\*.*  %dir%
     

    Просто выполнение скрипта выдает ошибку 85. Как понял он ругается на то что диск такой уже есть. Подключение постоянное диска Х ненужно.
    Спасибо.

    Всего записей: 252 | Зарегистр. 16-04-2002 | Отправлено: 10:52 02-12-2008
    KapralBel



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

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 11:09 02-12-2008
    saym101



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    А как скрыть написать не догадался?

    Всего записей: 252 | Зарегистр. 16-04-2002 | Отправлено: 11:23 02-12-2008
    KapralBel



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

    Код:
    net use X: \\komp\updat pass /user:user /persistent:yes >Nul 2<&1

     
    все сообщения (и стандартные и ошибки) перенаправит в Nul
     
    PS. думал раз юзаешь перенаправление в Ноль - то и это найдешь в справке

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 12:00 02-12-2008
    Levitant



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Помогите пожалуйста решить задачку.
     
    Нужно батник, с помощью которого удалялись бы файлы и папки старше, чем 5 дней в Е:\Обмен\
     
    Пытался воспользоваться утилитой forfiles, но она у меня почему-то папки не удаляет, а мне надо удалять все папки и файлы, срок создания которых более 5 дней.  
    В этой утилите писал так:  

    Код:
    forfiles -p "E:\Обмен" -s -c "cmd /c echo del \"@FILE\" & del \"@FILE\"" -d -5

     
    Но она удаляет только папки и не трогает файлы.
     
    Можно это решить с помощью батникаили этой утилиты? Заранее благодарю

    Всего записей: 62 | Зарегистр. 09-11-2006 | Отправлено: 17:25 02-12-2008 | Исправлено: Levitant, 17:26 02-12-2008
    king_stiven

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

    Цитата:
    Но она удаляет только папки и не трогает файлы

    Может потому что ты пишешь \ после FILE в
    del \"@FILE\""
    Хотя тут же ты пишешь

    Цитата:
    но она у меня почему-то папки не удаляет


    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 20:10 02-12-2008 | Исправлено: king_stiven, 20:13 02-12-2008
    Nagual



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Levitant
    думаю, эта задача как нельзя лучше для robocopy
    недавно приводил почти идентичный пример

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 21:40 02-12-2008
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добавил в шапку в
    Работа с текстом, датой, и файлами » [?]  
     Вывод даты создания файла относительно текущей даты (используя VBScript) igor_andreev

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 22:49 02-12-2008
    corsik



    Newbie
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Интересует провернуть тукую цепочку на машинах под win2000 sp4:  
    Есть машина(№1) на которой храняться бекапы.  
    Щас это работает так: В 15.00 №1 включается и начинает собирать бекапы опеределных папок со всех машин в сети с помощью WinRar. Если же какие то машины в сети выключены, то с них разумеется бекап не снимается.
    Интересует сделать: Чтобы в 1.00 №1 включалась, потом например пинговала по очередь каждую машину в сети и если пингуемая машина выключена, то №1 её включал и начинал бекап, после завершения выключал. И так для всех машин в сети.  
     
    С помощью чего можно такую схему осуществить!? Может кто поделиться полезными программами. Главная проблема в том как организовать именно проверку работает ли удаленная машина и в случаем если нет её включение!!!
     
    Добавлено:
    Интересует провернуть тукую цепочку на машинах под win2000 sp4:  
    Есть машина(№1) на которой храняться бекапы.  
    Щас это работает так: В 15.00 №1 включается и начинает собирать бекапы опеределных папок со всех машин в сети с помощью WinRar. Если же какие то машины в сети выключены, то с них разумеется бекап не снимается.
    Интересует сделать: Чтобы в 1.00 №1 включалась, потом например пинговала по очередь каждую машину в сети и если пингуемая машина выключена, то №1 её включал и начинал бекап, после завершения выключал. И так для всех машин в сети.  
     
    С помощью чего можно такую схему осуществить!? Может кто поделиться полезными программами. Главная проблема в том как организовать именно проверку работает ли удаленная машина и в случаем если нет её включение!!!

    Всего записей: 25 | Зарегистр. 25-04-2008 | Отправлено: 11:06 03-12-2008
    slay1212

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    corsik
     Как собираешься их включать? С помощью сетевой загрузки? А если свет к примеру вырубили что твоему батнику делать?  
      Проверить ты сможешь только пингом - если его нет :
    1.пингуемая машина  выключена,  
    2. на № 1 отрубилась сеть ( упал сетевой интерфейс , вырубился свитч и тд).
     
     Проверить "включен ли компьютер" боюсь больше никак не сможешь  
      Выключить легко сможешь - psshutdown и права соответствующие и вперед

    Всего записей: 336 | Зарегистр. 28-05-2008 | Отправлено: 11:17 03-12-2008 | Исправлено: slay1212, 11:20 03-12-2008
    corsik



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

    Цитата:
    Как собираешься их включать?
     
    с помощью WoL!!! WoL

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

    Если свет вырубиться то вырубится на все фирме
    Я незнаю как написать батник на проверку работы машины

    Всего записей: 25 | Зарегистр. 25-04-2008 | Отправлено: 12:01 03-12-2008 | Исправлено: corsik, 12:02 03-12-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 100

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 6
    vu1tur (26-05-2009 11:39): часть 7 — http://forum.ru-board.com/topic.cgi?forum=62&topic=17154#1


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru