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

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

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

evle (19-03-2008 19:44): Лимит страниц.
Задачи на bat-файлах 5
 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

vu1tur



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

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 15:21 11-09-2007 | Исправлено: Elroir, 01:52 26-02-2008
    Tipulatoid



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Elroir
    A pkunzip.exe не работает с длинными именами

    Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 08:28 01-10-2007 | Исправлено: Tipulatoid, 08:29 01-10-2007
    simplix



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Tipulatoid
    Используй unzip.
     
    В принципе обновления каспера из зипов у меня давно реализованы на ннкроне и батниках, кому нужно - в ПМ.

    Всего записей: 1151 | Зарегистр. 08-08-2005 | Отправлено: 09:07 01-10-2007 | Исправлено: simplix, 09:17 01-10-2007
    Tipulatoid



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    JazzTM
    Ну вот:
    Код:
    @echo off
     
    :: Установка переменых
    set "file=av-i386-daily.zip"
    set "url=http://downloads1.kaspersky-labs.com/zips/%file%"
    set "wget_path=%programfiles%\Wget\wget.exe"
    set "archiver=%programfiles%\7-zip\7z.exe"
    set "local_folder=P:\AVPBases"
     
    set "ftp_adress=ftp.narod.ru"
    set "ftp_login=delta-greit"
    set "ftp_password=qwerty"
    set "remote_folder=delme"
     
     
    :: Скачивание
    "%wget_path%" %url%
     
    ::Распаковка
    "%archiver%" x %file% -o%local_folder%
     
    ::Удаление архива
    rem del /q %file%
     
    ::Создание сценария действий на ftp-сервере
    echo %ftp_login%>upload.del
    echo %ftp_password%>> upload.del
    echo mkdir %remote_folder%>>upload.del
    echo cd %remote_folder%>>upload.del
    for /f "tokens=*" %%a in ('dir "%local_folder%" /b') do echo put %%a>>upload.del
    echo quit>>upload.del
     
    move upload.del %local_folder%
     
    ::Закачка
    pushd %local_folder%
    ftp -i -s:upload.del %ftp_adress%
    del /q upload.del
    popd
    rem rd /s /q %local_folder%

     
    Используются утилиты Wget и 7-zip Их надо скачать и проинсталлить в папки, которые они предлагают по умолчанию.
     
    Выделенные жирным значения заменить на свои, если нужно. Думаю, разберешься легко.
     
    Добавлено:
    Изменил немного, приблизив к условиям твоей задачи. Запускать нужно с диска D:

    Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 09:48 01-10-2007 | Исправлено: Tipulatoid, 10:19 01-10-2007
    JazzTM

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Супер! Спасибо, буду тестить
     
    Добавлено:
    Если я правильно понимаю, то вместо 7-zip можно использовать WinRar?
    Для заинтересованых линк на страничку Wget для Windows:
    http://pages.interlog.com/~tcharron/wgetwin.html




    спасибы — в ПМ

    Всего записей: 15 | Зарегистр. 14-04-2006 | Отправлено: 10:36 01-10-2007 | Исправлено: vu1tur, 10:37 01-10-2007
    c0yc



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

    Всего записей: 6 | Зарегистр. 01-10-2007 | Отправлено: 13:52 01-10-2007
    TimAlex



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Имеем файла file1.txt размером примерно 3Mb.  
    Необходим заменить все "123456 пример строки 84512" на "123456 Новая строка 84512".
    Если это делать блокнотом... примерно 10-13 минут ((
     
    Поиск ни чего не дал.. (может плохо искал.. sed - не подошел для строк)

    Всего записей: 34 | Зарегистр. 05-04-2006 | Отправлено: 13:56 01-10-2007
    Rurik



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    JazzTM
     
    там только  wget 1.5.3
     
    тут http://gnuwin32.sourceforge.net/packages/wget.htm
     
    есть 1.10.1

    Всего записей: 343 | Зарегистр. 07-05-2002 | Отправлено: 14:04 01-10-2007
    NIKZZZZ



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

    Цитата:
    sed - не подошел для строк

    Почему?

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 14:44 01-10-2007
    TimAlex



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

    Всего записей: 34 | Зарегистр. 05-04-2006 | Отправлено: 15:02 01-10-2007 | Исправлено: TimAlex, 15:02 01-10-2007
    NIKZZZZ



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

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

    Я не специалист по Sed, но насколько помню, он поддерживает регулярные выражения. Проблем быть не должно.
     

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 15:18 01-10-2007
    Smitis



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

    Цитата:
    A pkunzip.exe не работает с длинными именами

    Работает. Это у тебя pkunzip неправильный

    ----------
    Разум когда-нибудь победит

    Всего записей: 3214 | Зарегистр. 09-02-2003 | Отправлено: 17:30 01-10-2007
    king_stiven

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

    Код:
    for /f "usebackq tokens=*" %%d in (`dir c:\папка /b /s /a:d`) do xcopy бат.bat "%%d" /q /r

     
    или просто кидаешь этот батник в папку , и во всех подпапках он копирует себя

    Код:
    for /f "usebackq tokens=*" %%d in (`dir /b /s /a:d`) do xcopy бат.bat "%%d" /q /r

     

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 17:40 01-10-2007 | Исправлено: king_stiven, 18:05 01-10-2007
    Maza Faka



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

    Код:
     
    @Echo Off
    For /D /R C:\Folder %%a In (*.*) Do Copy %0 %%a
     


     
    Добавлено:
    TimAlex
    Попробуй с помощью gsar

    Код:
     
    @Echo Off
    gsar -s"123456 пример строки 84512" -r"123456 Новая строка 84512" -o test.txt
     


    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 08:05 02-10-2007
    TimAlex



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

    Цитата:
    Добавлено:  
    TimAlex  
    Попробуй с помощью gsar  
     
    Код:  
    @Echo Off  
    gsar -s"123456 пример строки 84512" -r"123456 Новая строка 84512" -o test.txt  
     

      (( нет не совсем то.. я имел ввиду что мне надо менять не всю строку, а только ее часть.. наверное лучше так  привести пример: есть файл куст реестра:

    Код:
    Windows Registry Editor Version 5.00
     
    [HKEY_USERS\S-1-5-21-1454471165-1972579041-1417001333-1325]
     
    [HKEY_USERS\S-1-5-21-1454471165-1972579041-1417001333-1325\AppEvents]
     
    [HKEY_USERS\S-1-5-21-1454471165-1972579041-1417001333-1325\AppEvents\EventLabels]
     
    [HKEY_USERS\S-1-5-21-1454471165-1972579041-1417001333-1325\AppEvents\EventLabels\.Default]
    @="Стандартный звук"
    "DispFileName"="@mmsys.cpl,-5824"
    ......
     

    надо:

    Код:
    Windows Registry Editor Version 5.00
     
    [HKEY_USERS\.DEFAULT]
     
    [HKEY_USERS\.DEFAULT\AppEvents]
     
    [HKEY_USERS\.DEFAULT\AppEvents\EventLabels]
     
    [HKEY_USERS\.DEFAULT\AppEvents\EventLabels\.Default]
    @="Стандартный звук"
    "DispFileName"="@mmsys.cpl,-5824"
    ......
     

    тоесть S-1-5-21-1454471165-1972579041-1417001333-1325 заменить .DEFAULT

    Всего записей: 34 | Зарегистр. 05-04-2006 | Отправлено: 08:44 02-10-2007 | Исправлено: TimAlex, 08:47 02-10-2007
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    TimAlex
    gsar делает именно то, что тебе нужно - меняет часть строки.

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

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



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

    Всего записей: 34 | Зарегистр. 05-04-2006 | Отправлено: 09:19 02-10-2007 | Исправлено: TimAlex, 09:41 02-10-2007
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    TimAlex
    Значит так - я не знаю, каким образом это у тебя получилось, но и в .reg и в .bat файле присутствуют символы (невидимые), которые мешают работе батника и gsar-a.
    После того, как я заново создал оба файла и скопировал в каждый нужное содержимое - все прекрасно сработало - нужные строчки были заменены.
    Но! При этом потерялся русский текст. Так что нужно искать другую утилиты для замены текста.

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

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 09:52 02-10-2007
    king_stiven

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

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 10:19 02-10-2007
    TimAlex



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    а ссылочку можно? ( если ты про @Text Replacer  то он только после регистрации дает в консоле работать)

    Всего записей: 34 | Зарегистр. 05-04-2006 | Отправлено: 10:44 02-10-2007
    01MDM



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

    Цитата:
    Но! При этом потерялся русский текст.

    Я попробовал и у меня ничего не потерялось.  
     
    TimAlex
    Скопируй и заново создай и коммандный файл и рег-файл в простом блокноте.
    gsar нормально все обрабатывает.
     

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 11:14 02-10-2007
       

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

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 4
    evle (19-03-2008 19:44): Лимит страниц.
    Задачи на bat-файлах 5


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru