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

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

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ещё вопрос: как вывести в текстовый файл полный путь ко всем файлам в каталоге и подкаталогах?
     
    То есть нужно примерно следующее:
     
    C:/файл1.txt
    C:/Папка1/файл2.txt
    C:/Папка1/файл3.txt
    C:/Папка2/файл4.txt
    C:/Папка2/файл5.txt
    C:/Папка3/файл6.txt
     
    каталоги выводить не нужно - только путь к содержащимся в них файлам.

     
    wolf0425: спасибо огромное!

    Всего записей: 808 | Зарегистр. 17-07-2002 | Отправлено: 11:24 21-01-2011 | Исправлено: Nikoderiko, 11:36 21-01-2011
    zacpanec

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Joo1z ненадо ручной ввод, надо чтоб сразу открывалось

    Всего записей: 122 | Зарегистр. 12-06-2008 | Отправлено: 11:25 21-01-2011
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Nikoderiko
    Цитата:
    1) Как удалить в каждой строке весь текст до последнего пробела?  

    sed -r "s;^.* ([^ ]*)$;\1;gi" <file1.txt >file2.txt

    Цитата:
    2) Как дописать в конце каждой строки название файла?  

    sed -r "s;^(.*)$;\1 а тут что надо дописать;gi" <file1.txt >file2.txt
     
    с учетом что файлов тысячи и операции 1-3 можно совместить - то как-то так:

    Код:
    @echo off
    1>file.txt echo.%date% %time% шапка общего файла
    for %%a in ( c:\dir1\*.lst ) do sed -r "s;^.* ([^ ]*)$;\1 %%~na;gi" <"%%~a" >>file.txt  
     

    c:\dir1\*.lst - каталог и расширение тех тыщ файлов
     %%~na - - дописывание в конец строк имени файла (через пробел). если надо не только имени - меняешь на то что надо, прочитав for /?
    file.txt - результат
    sed.exe - утилита для поиска/замены, смотри в шапке или в гугле
    исходные файлы батником никак не меняются - удалишь потом отдельно, проверив результат.
     
    Добавлено:

    Цитата:
    как вывести в текстовый файл полный путь ко всем файлам в каталоге и подкаталогах?  
    dir /b /s /a-d c:\*.txt >file.txt

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 11:26 21-01-2011 | Исправлено: wolf0425, 11:32 21-01-2011
    zacpanec

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

    Всего записей: 122 | Зарегистр. 12-06-2008 | Отправлено: 11:27 21-01-2011
    res2001



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

    Код:
    @echo off  
    for %%a in ("%~1\*") do 1>nul 2>&1 fc /B/A "%%~a" "%~2\%%~nxa" && del /p "%%~a"
     

     
    Добавлено:
    zacpanec
    У тебя сеть доменная? Пользователь доменный? Оба компа в домене? Если на все вопросы ответ да, то можно пароль и имя не указывать.

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 11:30 21-01-2011 | Исправлено: res2001, 11:43 21-01-2011
    NeoNemesis



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

    Цитата:
    @echo off    
    for %%a in ("%~1\*") do 1>nul 2>&1 fc /B/A "%%~a" "%~2\%%~nxa" && del /p "%%~a"  

     
    Спасибо, то что нужно! Теперь хоть не придется все вручную перелопачивать.

    Всего записей: 4 | Зарегистр. 21-01-2011 | Отправлено: 11:43 21-01-2011
    Accessor



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    InSe0F
    Цитата:
    как перевести верный прокси в бинарник?
    Прописать нужный прокси вручную, а затем залезть в реестр и взять оттуда необходимые данные.

    Всего записей: 2863 | Зарегистр. 31-10-2003 | Отправлено: 11:57 21-01-2011
    user5nov

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

    Всего записей: 112 | Зарегистр. 19-10-2005 | Отправлено: 12:33 21-01-2011
    X11



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Упаковываем
    start /D "C:\Program Files\7-Zip" /wait 7z.exe backup-%date%.zip -r -mx0
     
    пытаемся отправить
    ftp -s:C:\WINDOWS\script\load2ftp.scenario
     
    Вот сам сценарий для FTP
    open ftp.domain.tld
    user@domain
    password
    cd "Backup Directory"
    put backup-%date%.zip
    quit
     
     
    Проблема в том, что в сценарии есть put backup-%date%.zip и FTP не понимает, не расшифровывает %date% в текущую дату.
     
    Как быть?

    ----------
    /не мы такие, жизнь такая/

    Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 13:39 21-01-2011
    res2001



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    X11
    Создай батник с таким содержимым:

    Код:
    @echo off
    start /D "C:\Program Files\7-Zip" /wait 7z.exe backup-%date%.zip -r -mx0
    >load2ftp.tmp (echo open ftp.domain.tld
    echo user@domain
    echo password
    echo cd "Backup Directory"
    echo put backup-%date%.zip
    echo quit)
    ftp -s:load2ftp.tmp
    del /f/q load2ftp.tmp
     

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 14:22 21-01-2011 | Исправлено: res2001, 14:23 21-01-2011
    greydjin

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

    Код:
    start nnbackup.exe sync -i "\\192.168.15.24\share\update" -o d:\update -s -v -log c:\backup\nnbackup.log

    В nnbackup.log появляется запись такого вида

    Код:
    Fr 21.Jan.2011 16:29 Start synchronization
    Fr 21.Jan.2011 16:29 Copying files
    Fr 21.Jan.2011 16:29 \\192.168.15.24\share\update\3CXPhone5.msi  

    как мне теперь запустить 3cxphone.msi ? С учетом того что я не знаю какой именно файл скопировался. может быть и winrar.exe и любая другая программа. но если она скопировалась - надо запустить ее установку! как?

    Всего записей: 8 | Зарегистр. 20-01-2011 | Отправлено: 15:20 21-01-2011 | Исправлено: greydjin, 15:22 21-01-2011
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    greydjin
    То есть тебе надо вычленить из log  файла всё, после самого последнего знака
    \
    и запустить? Надо ещё знать полный путь к 3CXPhone5.msi

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 17:09 21-01-2011
    zacpanec

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите как создать батник на открытие сетевой папки, сетевая папка на  xp, открыть ее надо на windows 7, сеть не доменная, в пароле есть символ/ а в логин Ива Иваныч, с пробелом тоесть.
    net use f:\ \\компа\шара "пароль" "/USER:Иван Иваныч" неоткрывает!

    Всего записей: 122 | Зарегистр. 12-06-2008 | Отправлено: 06:15 22-01-2011
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    zacpanec
    chcp 1251
    в начале батника поставь может поможет

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 09:59 22-01-2011
    fedorvit

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Господа, помогите пожалуйста автоматизировать процесс.
    Имеется папка, в которой лежит ~600 файлов с именами file001xy.doc, file002xz.doc...file600...  
    Необходимо создать папки с названием каждого из файлов и переместить каждый файл в свою папку. Вручную после первой сотни стало подташнивать
     
    Заранее спасибо!

    Всего записей: 6 | Зарегистр. 08-02-2009 | Отправлено: 14:16 22-01-2011
    01MDM



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

    Код:
     
    @echo off
     
    for /f "tokens=*" %%i in ('dir /b *.doc') do md "%%~ni" && move "%%i" "%%~ni"  
     



    ----------
    Вопросы в личке останутся без ответа

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 16:02 22-01-2011
    Abs62



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

    Код:
    for %%i in (*.doc) do md "%%~ni" && move "%%i" "%%~ni"


    ----------
    0 программистов ругал сердитый шеф
    Потом уволил одного, и стало их FF

    Всего записей: 6077 | Зарегистр. 22-10-2005 | Отправлено: 16:12 22-01-2011
    01MDM



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

    ----------
    Вопросы в личке останутся без ответа

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 16:48 22-01-2011
    claus22

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    подскажите плиз по обработке текстового файла такого вида
     
    1/21/2011 3:30:03 AM,0,Copy start,
    1/21/2011 3:31:03 AM,0,Average performance : 19,298,564 bytes / sec,
    1/21/2011 3:31:03 AM,0,Average performance : 0  files / sec,
    1/21/2011 3:31:03 AM,0,Copy complete,\\server\test_speed.bak
    1/21/2011 3:45:03 AM,0,Copy start,
    1/21/2011 3:46:04 AM,0,Average performance : 19,298,564 bytes / sec,
    1/21/2011 3:46:04 AM,0,Average performance : 0  files / sec,
    1/21/2011 3:46:04 AM,0,Copy complete,\\server\test_speed.bak
    .....
     
    нужно из него выбрать лишь  
    1/21/2011 3:31:03 AM 19,298,564 bytes / sec
    1/21/2011 3:31:03 AM 19,298,564 bytes / sec

    Всего записей: 118 | Зарегистр. 21-07-2004 | Отправлено: 22:50 22-01-2011
    king_stiven

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

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 00:14 23-01-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