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

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



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

    Цитата:
    1) Посмотрел про замену в файлах через sbs2.com - эта утилитка регэкспы понимает?

    Нет.
     
    Blibass

    Цитата:
    У меня такой вопрос,возможно ли реализовать с помощью bat пароль на СD-DVD диск

    Нет.

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

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

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

    Всего записей: 3 | Зарегистр. 27-03-2008 | Отправлено: 18:17 27-03-2008
    Rush

    Уже за тридцать...
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Nagual

    Цитата:
    имхо на скриптах с этим проблем никаких нет, и, поскольку ты в них силён, почему бы не использовать их? тем более, что и скорость обработки файлов возрастает в разы даже по сравнению с sbs2.com

    Ты прав, конечно, для себя я напишу скрипт, если надо. Но дело в том, что мне нужна такая команда, про которую антивирус не будет выдавать запрос на авторизацию скрипта.  
    Хотелось сделать, типа, расширение стандартной команды StrChange (аналог Replace) для Multimedia Builder. Под девизом - никаких дополнительных библиотек. Плагин или утилитку сделать не проблема, но... было желание средствами винды. Такие, понимаешь, пироги...
     
    Добавлено:

    Цитата:
    findstr/r — Поиск строк как регулярных выражений  
    но опять же тут свои подводные камни есть и это как всегда спецсимволы

    Надо попробовать. Может спецсимволы в кавычках или еще каким образом выводятся из процесса чтения как управляющие...

    Всего записей: 3551 | Зарегистр. 20-11-2003 | Отправлено: 18:30 27-03-2008
    Ortios



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    А что, неужели нет никакой утилитки работающей с регулярными выражениями и которую можно прикрутить к бат-файлу. Может кто знает.
    Несколько лет назад мне попалась какая-то версия утилитки Advasar сейчас уже найти не могу. Так вот, в диалоговом режиме она работала блестяще, пожалуй даже лучше, чем фаровский плагин S&R и помнится мне, что у Advasara была возможность работать из командной строки, используя настроечный ini-файл, но мне тогда не удалось довести до ума эту возможность и заставить батник работать в автомате поскольку прога была платной и задавала вопросы типа продолжать дальше или нет. Ключа к ней я так и не достал и забросил ее. Сейчас же, роясь в инете я натыкался на версию Advasara, но она по-прежнему платная 100$. Может у кого есть полная версия?

    Всего записей: 73 | Зарегистр. 24-12-2007 | Отправлено: 00:07 28-03-2008
    01MDM



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

    Цитата:
    А что, неужели нет никакой утилитки работающей с регулярными выражениями и которую можно прикрутить к бат-файлу.

    Почему нет.
    sed,awk,grep и прозводные от них - [a-z]sed, .grep и т.д

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 00:56 28-03-2008
    Nagual



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

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 01:17 28-03-2008
    gbcfkf



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

    Цитата:
    не ты первый, не ты последний...  Переименуй свой ftp.cmd или ftp.bat во что-нить другое, он же у тебя сам себя запускает.

    Спасибо, помогло!
     
    А как можно скопировать файлы с сервера в свою конкретную папку?
    Т.е. есть на сервере папка 1\ в которой куча файлов, подпапок, в них снова файлы и т.д. А нужно папку 1\ со всем содержимым скопировать на свой локальный компьютер.. скажем в папку D:\2\  
    Это возможно?
    Попробовал так:
    prompt n
    mget 1\*.*

    Но такая команда не затрагивает подпапки.. да и копирует папку по умолчанию(насколько понимаю, в туже папку, что и в источнике)
     
    update.. короче погуглил, получается что для этой задачи надо использовать сторонние программы, а хотелось бы встроенными средствами..
    Ладно, буду мучать wget
     
     
     

    Всего записей: 702 | Зарегистр. 17-10-2006 | Отправлено: 03:22 28-03-2008 | Исправлено: gbcfkf, 04:51 28-03-2008
    slayer120



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

    Цитата:
    При выполнении   xcopy /Y f:\folder\*.* B:\%%i\*.*    

     
    Цитата:
    Значит - либо ставь на конце  значок \,  

     Ну а зачем в B:\%%i\*.*  *.* на конце указываешь?
     Вот такой код работает у меня  
    @echo off  
    for /f "tokens=1* delims= " %%i in ('dir /A:D /B') do (  
    rem    echo %%i        
            xcopy /Y c:\temp\*.* \\comp\share\temp\%%i\  
     
    )    
    Копирует все файлы из каталога temp  каталоги существующие в текущей папке
    (я создал 1, 2, 3 каталоги) если их нет в приемнике они создаются

    Всего записей: 303 | Зарегистр. 24-01-2007 | Отправлено: 10:24 28-03-2008 | Исправлено: slayer120, 10:34 28-03-2008
    Nagual



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    господа, кто сталкивался с rsync
    докачивает ли она файлы на сервер по протоколу ftp
    если нет, то какая тулза обладает такими возможностями?

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 14:04 28-03-2008
    JohnRD

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    добрый день/вечер
     
    нашел вариант запуска бат файла через RUNAS причем вписывая пароль (если необходимо)
     

    Код:
    set WshShell = CreateObject("WScript.Shell")
    WshShell.Run "runas /user:domain\ivanov-aa ""\\domain.local\soft\1.cmd"""
    WScript.Sleep 100
    WshShell.Sendkeys "password~"

     
    если необходимо вбить руками пароль
    заменить на
    WshShell.Sendkeys ""
     
    если кому пригодиться

    Всего записей: 205 | Зарегистр. 29-08-2004 | Отправлено: 14:19 28-03-2008 | Исправлено: JohnRD, 14:33 28-03-2008
    igor_andreev

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

    Цитата:
    докачивает ли она файлы на сервер по протоколу ftp  
    если нет, то какая тулза обладает такими возможностями?

    curl, wput

    Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 14:45 28-03-2008
    Nagual



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    igor_andreev, докачка точно есть? если можно пример
    у меня локально компилится файл, размер которого понемногу постоянно растет, и поскольку весит он уже немало, встал ребром вопрос о его докачке на ftp сервер, а не полной перезакачке на сервер

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 16:50 28-03-2008
    igor_andreev

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

    Код:

    curl -C - -T localfile.zip -u user:password ftp://host/remotedir/remotefile.zip

    Если ftp корректно возвращает команду SIZE - то "curl -C - " использует APPE remotefile.zip. Добавь еще curl-у команду --verbose - увидишь сам.
     
     
    Добавлено:

    Цитата:
    у меня локально компилится файл, размер которого понемногу постоянно растет

    А что, изменяется только добавляемая часть?

    Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 16:58 28-03-2008 | Исправлено: igor_andreev, 17:07 28-03-2008
    Nagual



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    igor_andreev
    все отлично пашет
    использовал такую конструкцию
    Код:
    curl -v -C - -T localfile.zip ftp://user:pass@ftp://server.org/dirname/
    в файл добавляются периодически записи, после чего он компилится в исполняемый

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 18:18 28-03-2008
    Takuja

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Nagual
    помогай.
    Ребята, нада такая тема.
    Нужно сделать собственный планировщих заданий, но у меня проблема.
    Нужно зациклить процедуру с проверкой времени текущего.  
    и по достижении нужного времени, выполнить другую процедуру.  
    Нада определить переменную по типу
    ЧЧ:ММ (час:минута) как например выводит time /t
    вот помогите мне ответ этой команды задать в переменную
     
    в теории выглядит так:
     

    Код:
    setlocal
    set time_=8:00
    set _time=(вот тут и проблема, я не знаю как задать в переменную текущее время в формате ЧЧ:ММ)
     
    :timeshift
    if /i %time_%==%_time%  goto end
    ping /n 2 127.0.0.1
    set _time= (вот тут и нада текущее время всунуть в виде ЧЧ:ММ или просто ЧЧММ)
    goto timeshift
     
    :end
    pause

    помогайте.

    Всего записей: 64 | Зарегистр. 11-02-2008 | Отправлено: 14:30 29-03-2008
    igor_andreev

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Takuja
    Не заморачивайся с циклами

    Код:

    wft /?  
    waituntil /?

    http://www.geocities.com/fp.westlake/nt/waituntil.zip ~40 Кб
    или
    http://www.otbsw.com/Files/dlywft10.zip ~62 Кб

    Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 14:47 29-03-2008
    Takuja

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Тгорь, ну какого ты с своими левыми файлами не потеме говоришь?
    мне нада только то что есть в винде, и конкретнее по моему вопросу, знаешь как это сделать? или нет? если нет - не флуди.

    Всего записей: 64 | Зарегистр. 11-02-2008 | Отправлено: 14:52 29-03-2008
    01MDM



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

    Цитата:
    set _time=(вот тут и проблема, я не знаю как задать в переменную текущее время в формате ЧЧ:ММ)

     
    Странные вы люди, извините за флуд
     
    echo %time:~0,5%
     

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 15:03 29-03-2008
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Takuja
    Тебе предложили легкое решение твоей проблемы. Предложил человек, который помогает советами в этом топике с самого начала. Так что не хами. Если тебе нужны только средства Windows - так и надо было писать.
     

    Код:
     
    set "_time=%time:~0,5%"
     



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

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 15:05 29-03-2008
    igor_andreev

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

    Код:

    :loop
    echo wait until 16:00
    ping -n 30 localhost>nul
    time /t | find "16:00">nul || goto :loop
    echo 16:00 now

    Не заморачивайся с циклами

    Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 15:07 29-03-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