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

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



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


    Цитата:
    Касперыч говорит, что там trojan-downloader.JS.gen

    http://forum.ru-board.com/topic.cgi?forum=5&topic=24956&start=253&limit=1

    Цитата:
    я пользуюсь Notepad++.. а для написания командных сценариев, использую BatCmdEditor (свой простой редактор с возможностью запуска сценария, который дорабатываю по мере необходимости)..

    у SciTe тоже есть запуск кода (F5, F7) причём любого языка программирования (при условии наличия в системе соответствующего интерпретатора и донастройки для этого SciTe) и даже запуск выделенного кода
    также у SciTe есть своя консоль, в которой можно видеть выполнение запускаемого кода а также время его выполнения
    в общем фич полно
    Пробовал Notepad++ и кучу других редакторов для написания кода, не прижились, не хватает им гибкости
    это не реклама и не спор, просто имхо

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 10:02 11-03-2008 | Исправлено: Nagual, 10:06 11-03-2008
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Leshgan
    А зачем переменная %list% в

    Код:
     
    ... do set list = %list% %%i
     

     
    Если надо записать весь файл в одну строку, то

    Код:
     
    @echo off
    setlocal
    for /f "tokens=*" %%i in (1.txt) do (set "text=%%i" && call:send)
    net send comp %list:~1%
    goto:eof
    :send
    set "list=%list% %text%"
     

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 10:07 11-03-2008 | Исправлено: 01MDM, 10:22 11-03-2008
    Leshgan



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    01MDM
    Ну я вроде ж получаю строку с содержимым текстового файла (в нем список файлов. в одной троке имя одного файла), поэтому идет добавление к переменной

    Всего записей: 187 | Зарегистр. 15-10-2002 | Отправлено: 10:23 11-03-2008
    Collapse Troll

    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    BorlandIMHO, Elroir, igor_andreev, понятно, спасибо!

    Всего записей: 791 | Зарегистр. 05-08-2006 | Отправлено: 11:01 11-03-2008
    Joolz

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

    Всего записей: 100 | Зарегистр. 24-01-2008 | Отправлено: 11:31 11-03-2008 | Исправлено: Joolz, 11:33 11-03-2008
    01MDM



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

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 11:40 11-03-2008 | Исправлено: 01MDM, 11:42 11-03-2008
    Leshgan



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

    01MDM
    Я по запарке не заметил вторую часть сообщения, пардон, не ругайся, насяльника

    Всего записей: 187 | Зарегистр. 15-10-2002 | Отправлено: 12:01 11-03-2008
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Leshgan
    Если в именах файлов (в списке) нет "!", то можно еще проще

    Код:
     
    @echo off
    setlocal enabledelayedexpansion
    for /f "tokens=*" %%i in (list.txt) do set "list=!list! %%i"
    net send comp %list:~1%
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 12:16 11-03-2008
    sdaww

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как выполнить операцию сложения с помощью команды set /a k=1+0.1
    Прокатывают только целые числа, с нецелыми выдает ошибку.

    Всего записей: 89 | Зарегистр. 17-01-2007 | Отправлено: 12:34 11-03-2008
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    sdaww
    Складывай отдельно левую и правую части, или воспользуйся альтернативами - js, vbs. Или каким-нибудь калькулятором - например clcc
     

    Код:
     
    @echo off
    set a=1
    set b=0.1
    for /f "tokens=2" %%i in ('clcc %a%+%b%') do set res=%%i
    echo %res%
     

     

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

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    @echo off
    ping *.*.*.*
    if %ERRORLEVEL%==0 goto normal
    :normal
     
     
    Народ, нужна помощь доработать, или заново сделать скрипт...
    Он должен выполнять ункцию пинга и обрыва "сети" и потом опять подключаться к ней...
     
    @echo off
    ping *.*.*.*
    if %ERRORLEVEL%==0 goto normal
    rasdial *** /disconnect
    rasdial **** login password
    echo Переустановлена связь с **** %time% %date% >> ***.log
    :normal
     
     
    Это мой скрипт, который подрубаеться к интеренту при обрыве...
    Что мне надо изменить, или вообще предложите что-ото лучшее, но мне нужно именно на обрыв сети и её обратного подключения...
     
    Или же мой скрипт будет выполнять тоже самое, извеняйте просто не понимаю ((
     
    ЗЫ, очень буду признателен...

    Всего записей: 28 | Зарегистр. 07-08-2007 | Отправлено: 16:49 11-03-2008 | Исправлено: Echizen, 16:54 11-03-2008
    Nagual



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Echizen
    задача поставлена сумбурно
    говоришь сети, хотя у тебя интернет соединение
    зачем писать свои данные в сценарии? это небезопасно
    имхо, лучше будет настройка соединения в системе
    если уже совсем не помогает, юзай rasphone/?

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 09:33 12-03-2008
    arr1val

    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    День добрый, есть такой скриптик :
    For /R "c:\" %I In (*пример1*.*;*пример2*.*;*пример3*.*) Do MkDir "%I" "u:\Removed\%~pI"
     
    For /R "c:\" %i In (*пример1*.*;*пример2*.*;*пример3*.*) Do Copy "%i" "u:\Removed\%~pnxi"
     
     
    Зашел в тупик с вопросом, как исключить допустим *.dll файлы. Т.е. чтоб копировались по нужной маске, но кроме dll. Просмотрел огромное колличество страниц топика, но нужного не нашел.

    Всего записей: 43 | Зарегистр. 01-02-2008 | Отправлено: 17:17 12-03-2008
    Maza Faka



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

    Код:

    @echo off
    for /r c:\temp %%i in (*.*) do echo %%i | findstr /i /v "dll\>">nul && copy "%%i" "d:\test"

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 17:40 12-03-2008
    arr1val

    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Понял...а если к примеру у меня несколько "но", методом тыка выяснил, что ; он не понимает - только делать отдельный файл с условием ? Или после && опять do echo и т.д. с новым "но" ?
     
    Добавлено:
    Все, победил СпасибО!

    Всего записей: 43 | Зарегистр. 01-02-2008 | Отправлено: 18:35 12-03-2008
    Nicka_Grey

    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Такой вопрос, есть ftp-сервак.
    На нем лежит zip-файл, в котором сотни файлов
    Нужно локально держать свежую версию этого архива.
    Сейчас пока сделал следующим образом, wget-ом раз в сутки скачиваю файл если он новее чам локальный
    Но т.к. размерчик довольно не маленький, (сейчас более 50мб), а измененных внутри файлов максимум на 2-3 метра, то как то не очень "экономно" тягать каждый раз по 50мб
    Есть ли возможность вытягивать только новые данные для zip?

    Всего записей: 1282 | Зарегистр. 04-01-2003 | Отправлено: 18:42 12-03-2008
    igor_andreev

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Nicka_Grey
    Там внутри есть какой нить readme.txt, version.info, file_id.diz или что нить похожее, по чему можно идентифицировать изменение архива?
    А не, отменяется, упустил слово "ftp". C http можно.

    Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 18:49 12-03-2008 | Исправлено: igor_andreev, 18:53 12-03-2008
    Nicka_Grey

    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    igor_andreev
    Идентифицировать как именно?
    Время создания, изменения, или по содержимому файла?

    Всего записей: 1282 | Зарегистр. 04-01-2003 | Отправлено: 19:00 12-03-2008
    igor_andreev

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Nicka_Grey
    Яж поправился, что с фтп не получится. С zip-ом на http можно всякие "фокусы" сделать, есть такая утилитка консольная, zipweb, скачивает заголовок архива(65553 байт) и потом можно или отдельный файл(readme.txt например) из архива скачать или сверить crc32 файлов в архиве на сервере с локальными или еще что.. Полезная кстати тулза, тут лежит http://aluigi.altervista.org/mytoolz.htm качните кому надо. А с ftp не знаю

    Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 19:14 12-03-2008 | Исправлено: igor_andreev, 19:21 12-03-2008
    Nicka_Grey

    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    igor_andreev
    ок
    а если все же файл на http ? (может получится его и по http выложить)
     
    Добавлено:
    ок
    спасибо
    буду пробовать

    Всего записей: 1282 | Зарегистр. 04-01-2003 | Отправлено: 19:22 12-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 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