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

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



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

    Цитата:
    а можно ли добавить текст в начало строки?


    Код:
     
    for /f "tokens=*" %%a in (1.txt) do echo ^|-^>0 %%a>>2.txt  
     

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 08:24 15-05-2009
    CODeRUS



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    подскажите как имена всех ехе файлов в папке по-порядку передать как параметр на выполнение программе
    (file.exe -command filename)

    Всего записей: 155 | Зарегистр. 09-11-2007 | Отправлено: 10:02 15-05-2009
    cluster

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребят, а как правильно запускать команду?
    runas /savecred /noprofile /user:user "date 10.05.2009"

    Всего записей: 1720 | Зарегистр. 21-11-2003 | Отправлено: 10:38 15-05-2009
    anachrom

    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    yurkesha
    Я вот что подумал. Можно же уменьшить время BackUp'a. Для этого, необходимо сразу сжимать нужые папки в архив %TEKDATATIME%.zip, а не копировать их и потом сжимать. Получится, что время на копирование папок и время на удаление временной папки с файлами не будет тратиться.
    Т.е. задача в следующем: как сразу с заданного списка путей "ListBackUp.txt" жать в архив 7zip'ом.
    Я вот сижу делаю, но чет как-то пока неполучается.

    Всего записей: 179 | Зарегистр. 18-11-2008 | Отправлено: 11:38 15-05-2009
    smirnvlad

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

    Код:
     
    for %%a in (*.exe) do (
      file.exe -command "%%a"
    )
     

     
    Добавлено:
    cluster

    Код:
     
    runas /savecred /noprofile /user:user "cmd /c \"date 10.05.2009\""
     

    Всего записей: 417 | Зарегистр. 31-03-2009 | Отправлено: 11:48 15-05-2009
    anachrom

    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Нашел еще одну проблемку. Если в "ListBackUp.txt" несколько путей для копирования, то в "backup.log" записывается результат только последней папки копирования. Можно ли это обойти?

    Всего записей: 179 | Зарегистр. 18-11-2008 | Отправлено: 12:09 15-05-2009
    smirnvlad

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Alex1985
    может такой код решит начальную проблему создания батника

    Код:
     
    for /f "tokens=*" %%a in ('dir /a:d/b/o:g') do (
      echo 7z a -mx "backup\%%a.7z" "C:\bases\%%a\*"
    )
    for /f "tokens=*" %%a in ('dir /a:-d/b/o:g') do (
      echo 7z a -mx "backup\%%a.7z" "C:\bases\%%a"
    )
     

    Всего записей: 417 | Зарегистр. 31-03-2009 | Отправлено: 12:20 15-05-2009
    king_stiven

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

    Цитата:
    то в "backup.log" записывается результат только последней папки копирования. Можно ли это обойти?

    Замени > на  >>

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 12:32 15-05-2009
    anachrom

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

    Всего записей: 179 | Зарегистр. 18-11-2008 | Отправлено: 12:40 15-05-2009
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    for /f "usebackq tones=*"  
    опечатка или ошибка?

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 12:40 15-05-2009
    anachrom

    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    king_stiven
    Опечатка
    for /f "usebackq tokens=*"  
    А это где найдено?

    Всего записей: 179 | Зарегистр. 18-11-2008 | Отправлено: 12:51 15-05-2009 | Исправлено: anachrom, 12:58 15-05-2009
    king_stiven

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

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 13:40 15-05-2009
    metrim

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Задача такая:
    Есть файл file.txt
    В нем построчно разсещены ссылки
    Нужно обрезать эти строки в файл rezalt.txt таким образом, что бы осталось ну например 10 последних символов

    Всего записей: 109 | Зарегистр. 05-12-2002 | Отправлено: 20:21 15-05-2009
    king_stiven

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

    Код:
    for /f "usebackq tokens=*" %%i in ("file.txt") do (
        set file=%%i
        call :ghj
    )
    goto :eof
    :ghj
    echo %file:~-10%>> rezalt.txt

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 20:39 15-05-2009
    metrim

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    king_stiven, спасибо
    Может и по этому вопросу подскажете? http://forum.ru-board.com/topic.cgi?forum=62&topic=15343&start=1820#20
    Надо вырезать из файла ссылки на файлы которые уже есть (список в файле)

    Всего записей: 109 | Зарегистр. 05-12-2002 | Отправлено: 22:08 15-05-2009
    yurkesha



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    king_stiven
    спасибо за замечание - как-то мы действительно увлеклись и потом еще и раскопировали
    anachrom
    Думаю будет правильными если мы отредактируем все ошибочные посты - дабы не вводить людей в заблуждение...
     
    Добавлено:
    anachrom
    А какие трудности с прямой архивацией? в цикле FOR парсишь свой список и сразу выполняешь команду архивации. Надо только либо использовть полный путь при вызове архиватора или размещать его по путям описанным в PATH.
    Ну и пожалуй еще имеет смысл завести переменную BACKUP_PATH для описания месторасположения архивов. А по-умолчанию инициализировать ее конечно "%~dp0" - текущей папкой из которой запущен скрипт(в случае необходимости - переопределят кому надо).

    ----------
    Всем непричастным рекомендую прогулки на свежем воздухе

    Всего записей: 2741 | Зарегистр. 15-12-2003 | Отправлено: 23:07 15-05-2009 | Исправлено: yurkesha, 23:16 15-05-2009
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    metrim
    Попробуй добавить ключ /B в команду FINDSTR. А так наверняка есть быстрые утилитки для этого, поищи

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 08:51 16-05-2009
    CODeRUS



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

    Всего записей: 155 | Зарегистр. 09-11-2007 | Отправлено: 15:05 16-05-2009
    Alex1985

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    smirnvlad
    вариант подходит за исключением 1, надо ещё и папку backup исключить из обработки, иначе он и её в архив завернёт. это возможно?

    Всего записей: 814 | Зарегистр. 07-05-2004 | Отправлено: 18:44 16-05-2009
    smirnvlad

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

    Код:
     
    for /f "tokens=*" %%a in ('dir /a:d/b/o:g') do (
      if /i NOT "%%a"=="backup" (
        echo 7z a -mx "backup\%%a.7z" "C:\bases\%%a\*"
      )
    )
    for /f "tokens=*" %%a in ('dir /a:-d/b/o:g') do (
      echo 7z a -mx "backup\%%a.7z" "C:\bases\%%a"
    )
     


    Всего записей: 417 | Зарегистр. 31-03-2009 | Отправлено: 18:51 16-05-2009 | Исправлено: smirnvlad, 18:52 16-05-2009
       

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