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

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

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

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

   

vu1tur



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

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

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 11:53 09-01-2011 | Исправлено: mazafakermazafaka, 11:22 04-06-2011
    NIKZZZZ



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

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 10:37 26-05-2011 | Исправлено: NIKZZZZ, 10:39 26-05-2011
    GORA2



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

    Цитата:
    правильно твоя строка должна выглядеть так:

    Free_Soft
    Не могу с этим согласится. Такая строка добавляет путь в реестр в кавычках, а мне надо без кавычек!

    Всего записей: 1271 | Зарегистр. 26-01-2006 | Отправлено: 10:51 26-05-2011
    Free_Soft



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

    Цитата:
    мне надо без кавычек!


    Код:
    Reg Add "HKCU\Software\7-Zip" /v "Path" /t REG_SZ /d "C:\Program Files\7-Zip\\" /f  

    пожалуйста. Только путь содержит пробел. Может не работать

    ----------
    На вашей перфокартѣ обнаруженъ вирусъ, механизмъ будетъ остановленъ.

    Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 11:29 26-05-2011
    GORA2



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

    Цитата:
    Код:Reg Add "HKCU\Software\7-Zip" /v "Path" /t REG_SZ /d "C:\Program Files\7-Zip\\" /f  
     
    пожалуйста.

    Free_Soft
    Этот вариант я и сам приводил:
    Цитата:
    Срабатывают только такой вариант:
    Код:Reg Add "HKCU\Software\7-Zip" /v "Path" /t REG_SZ /d "C:\Program Files\7-Zip\\" /f  

    Меня интересует:
    Цитата:
    Почему так происходит и где можно прочитать об этом?


    Всего записей: 1271 | Зарегистр. 26-01-2006 | Отправлено: 11:38 26-05-2011
    Mr_Lloyd



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте, помогите, пожалуйста, разобраться с проблемой:
     
    мне после копирования файлов по определенным критериям нужно вывести в лог информацию: имя файла, время копирования и размер файла (батник периодически запускаяется, инфа должна дописываться).
     
    Лог по скопированным файлам не получается собрать вообще, а результат отработки xcopy не форматируется, поэтому заливаются полные пути копируемых файлов

    Всего записей: 4 | Зарегистр. 26-05-2011 | Отправлено: 11:45 26-05-2011 | Исправлено: Mr_Lloyd, 11:54 26-05-2011
    res2001



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Mr_Lloyd
    Ну значит у тебя уже что-то написано, давай код в студию, обсудим.

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 12:01 26-05-2011
    Mr Lloyd



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ::d:\bat\copytest\
    set path_sf=\\Pasha-k28\Video\test\
    set path_copy=d:\user\pasha\Bat\copytest\
    set path_bat=d:\user\pasha\Bat\
     
    ::Копирование
    dir %path_sf% /b /a:D >%path_bat%folder.txt
    dir %path_copy% /b >%path_bat%oldfile.txt
    xcopy %path_sf%*.* %path_copy% /y /exclude:%path_bat%folder.txt+%path_bat%oldfile.txt
    ::>%path_bat%copy.txt
     
    ::Заполнение лога
    for /f  %%F in (%path_bat%oldfile.txt) do (
    for /f "usebackq" %%I in (`dir %path_copy% /b`) do (if not %%F==%%I (dir %path_copy%%%I /tw /-c /-n >>copyfile.log))
    )

    Всего записей: 4 | Зарегистр. 26-05-2011 | Отправлено: 13:04 26-05-2011 | Исправлено: Mr Lloyd, 13:10 26-05-2011
    NIKZZZZ



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

    Цитата:
    echo ipconfig /renew "высокоскоростное подключение"  

    echo убери, оно только для отладки !
     

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 13:31 26-05-2011
    res2001



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Mr Lloyd
    На сколько понял, ты копируешь файло в каталог, где уже есть какие-то файлы, и пытаешься в лог написать только то что скопировано? Если да, то как-то странно ты это делаешь.
    Вот так попробуй:

    Код:
    @echo off
    ::d:\bat\copytest\
    set path_sf=\\Pasha-k28\Video\test\
    set path_copy=d:\user\pasha\Bat\copytest\
    set path_bat=d:\user\pasha\Bat\
     
    ::Копирование
    for /f "tokens=*" %%a in ('xcopy %path_sf%*.* %path_copy% /y /exclude:%path_bat%folder.txt+%path_bat%oldfile.txt') do (
    if exist %path_copy%%%~nxa echo %%a & call:writelog "%%~nxa"
    )
    goto:eof
     
    :writelog
    for /f "skip=5 tokens=*" %%b in ('dir "%path_copy%%~1" /ta /-c /-n') do >>copyfile.log echo.%%b & exit /b
    exit /b
     

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 14:26 26-05-2011 | Исправлено: res2001, 14:31 26-05-2011
    kobakis



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

    Цитата:
    *** Ping = попытку. ****
     
    Настройка протокола IP для Windows
     
    Не удается выполнить операцию, так как ни один адаптер не находится в допустимом
     
    состоянии.

     

    Цитата:
    *** Ping = 91 ****
     
    Настройка протокола IP для Windows
     
    Не удается выполнить операцию, так как ни один адаптер не находится в допустимом
     
    состоянии.

     

    Всего записей: 170 | Зарегистр. 24-11-2007 | Отправлено: 17:43 26-05-2011
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    kobakis
    Ну это надо разбираться с твоим подключением.
    Как ты меняешь IP руками ?

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 17:50 26-05-2011
    Mr Lloyd



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    res2001
    Большое спасибо, работает))
     
    Единственное, как сделать так, чтобы писались полные, а не короткие имена файлов в логе?

    Всего записей: 4 | Зарегистр. 26-05-2011 | Отправлено: 18:01 26-05-2011 | Исправлено: Mr Lloyd, 00:02 27-05-2011
    kobakis



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

    Всего записей: 170 | Зарегистр. 24-11-2007 | Отправлено: 18:01 26-05-2011
    NIKZZZZ



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

    Цитата:
    бриджовое подключение, адсл

    Так узнай, как его переподключить, здесь ничем не помогу.

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 18:05 26-05-2011
    kobakis



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    я в ручную отсоединяюсь, нажимаю "отключить", потом "подключить" айпи меняется сам
    или я не правильно понял вопрос?

    Всего записей: 170 | Зарегистр. 24-11-2007 | Отправлено: 18:07 26-05-2011 | Исправлено: kobakis, 18:41 26-05-2011
    NIKZZZZ



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

    Цитата:
    не правильно понял вопрос?

    Неправильно. Как именно переподключить  из ком. строки , почитай в темах по твоему оборудованию, там будет одна строчка, ее и вставишь в батник.

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 19:49 26-05-2011
    res2001



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

    Цитата:
    Единственное, как сделать так, чтобы писались полные, а не короткие имена файлов в логе?

    Поиграйся с ключами для dir в предпоследней строке скрипта. Просто выдерни команду дир с параметрами от туда и позапускай отдельно, измяняя ключи, подбери устраивающий тебя вывод и соответственно измени в батнике.
    Могу сказать, что за короткие имена в данном случае ответственен ключ /-n, если его уберешь будут длинные имена, но изменится и порядок выводимых данных. Кстати эту команду я взял из твоего примера.

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 08:36 27-05-2011
    Mr Lloyd



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    res2001
    Спасибо за наводку, попробую разобраться

    Всего записей: 4 | Зарегистр. 26-05-2011 | Отправлено: 10:50 27-05-2011
    kobakis



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    NIKZZZZ
    извени, но не понемаю где найти... http://forum.ru-board.com/forum.cgi?action=filter&forum=81&filterby=topictitle&word=2500

    Всего записей: 170 | Зарегистр. 24-11-2007 | Отправлено: 17:03 27-05-2011
    HA3APET

    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Знатоки, вновь нужна ваша помощь.
    Нужен батник который запускает файл test1.exe, но если такой файл отсутствует, то запускается файл test2.exe. Желательно в одну строку.

    Всего записей: 314 | Зарегистр. 28-01-2009 | Отправлено: 22:27 27-05-2011
       

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

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 10
    vu1tur (29-07-2011 12:47): Задачи на bat-файлах 11


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru