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

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

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

vu1tur (11-09-2007 15:22): продолжаем в теме Задачи на bat-файлах 4  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

vu1tur



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

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 11:54 27-04-2007 | Исправлено: Elroir, 03:59 10-09-2007
    KapralBel



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

    Код:
     
    @Echo Off
    Rar a D:\Archive\documents.rar c:\Документы\*.*
    D:
    CD D:\Archive
     

     
    slayer120
    Тебе критично использование xCopy?
    Тогда так
    Код:
     
    Echo ... >h:\arch\%%u\archiv1.bkf
     xcopy /i %%o h:\arch\%%u\archiv1.bkf /Y /F /Z

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 10:22 10-08-2007
    Maza Faka



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

    Цитата:
    Если источником является каталог или источник содержит подстановочные знаки и результат не существует, команда xcopy считает, что результат — это имя каталога, и создает новый каталог. Затем xcopy копирует все указанные файлы в новый каталог. По умолчанию команда xcopy запрашивает подтверждение, является ли параметр результат каталогом или файлом.

     
    archiv1.bkf Это у тебя каталог? Иначе не понятно, зачем ты сохраняешь кучу файлов под одним именем.

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



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    dardreams
    http://www.rapidshare.ru/
    и закачать файл

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 10:26 10-08-2007
    slayer120



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Maza Faka
    из справки xcopy
     
    /I           Если конечная папка не существует и копируется более одного
                   файла, подразумевается, что местом назначения должна быть папка.
     

    Цитата:
    archiv1.bkf Это у тебя каталог

     Это имя файла.
    xcopy /i %%o h:\arch\%%u\archiv1.bkf /Y /F /Z  
    здесь %%u -  имя каталога (=имя компа)
      Мне надо чтоб копировался в файл. По идее ключ должен быть
    /-i ?

    Всего записей: 303 | Зарегистр. 24-01-2007 | Отправлено: 11:02 10-08-2007
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    slayer120
    1. См. выше
    2. использование copy
    3. использование robocopy

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 11:05 10-08-2007
    dardreams



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

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

     
    start "путь к архиву"
     
    Добавлено:

    Цитата:
    http://www.rapidshare.ru/  
    и закачать файл

     
    http://www.rapidshare.ru/366908
    вот файл

    Всего записей: 100 | Зарегистр. 29-05-2007 | Отправлено: 11:45 10-08-2007
    slayer120



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Еще вопросы.
      1.Необходимо в батнике проверять наличие смонтированного  
    USB накопителя.
      Т.е. сначала вывод запрос - "подключите сменный usb диск"
    потом проверить наличие , либо монтирование тома к  
    определенной букве из батника.  
      Такое возможно?
     
     2. Как работать с неделями месяца (1, 2 и т.д.)? Задача -  
    копировать файлы в разные папки в зависимости от номера недели в месяце.

    Всего записей: 303 | Зарегистр. 24-01-2007 | Отправлено: 12:48 10-08-2007 | Исправлено: slayer120, 12:50 10-08-2007
    Elroir



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

    Цитата:
    Только не обрабатывает подкаталоги.

    Для Win98 сделать обработку подкаталогов очень сложно (я уже просто не помню как там все делается - по сравнению с WinXP, очень мало возможностей).
     

    Цитата:
    А возможно ли доработать батник, чтобы он лежал на диске исходного каталога (чтобы соединить батник-копировщик и этот батник)?

    Возможно.
    Перед строчкой "cd %backup%", добавь строчку перехода на диск с директорией бекапа. В данном примере это диск е. То есть добавляемая строчка будет такой: "е:" (без кавычек).
     
    P.S. Если пишешь новую информацию, не исправляй старые сообщения, а пиши новые. Топик ушел вперед - на твое исправленное сообщение я наткнулся совершенно случайно.  
     
    Добавлено:
    oie71

    Цитата:
    нашёл место "вывала" :  
    когда запускается ftp или wget из батника через 30сек батник вылетает.  
    при этом фтп НОРМАЛЬНО докачивает файл!

    Попробуй запускать ftp так:

    Код:
    start /wait ftp -s:down.txt


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

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



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    slayer120
    Так подключенного или смонтированного?

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



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

    Цитата:
    Так подключенного или смонтированного?

       Мне нужно знать букву тома usb , куда копировать файлы.
       Лучше чтоб это было без присутствия админа, напр, в выходные.
       Можно перед выхходным включить usb привод, а в батнике
    чтоб он смонтировался под опр буквой, на него скопировались
    файлы и  отмонтировать его.

    Всего записей: 303 | Зарегистр. 24-01-2007 | Отправлено: 13:27 10-08-2007
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    dardreams
    Для не российских АйПи - облом
    Вышли на МойНик@GMail(точка)Com

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 13:50 10-08-2007
    NIKZZZZ



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

    Цитата:
    Мне нужно знать букву тома usb , куда копировать файлы.
       Лучше чтоб это было без присутствия админа, напр, в выходные.
       Можно перед выхходным включить usb привод, а в батнике
    чтоб он смонтировался под опр буквой, на него скопировались
    файлы и  отмонтировать его.

     
    fsutil fsinfo drives       - покажет все устройства в системе
    fsutil fsinfo drivetype  - определит тип устройства (с'емный носитель)
    RemoveDrive.exe - размонтирует Usb носитель.

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 13:55 10-08-2007 | Исправлено: NIKZZZZ, 13:56 10-08-2007
    vrush22



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите написать batничек
    Формат даты :
    echo %date%
    Пт 10.08.2007
     
    Сначала проверить, есть ли в текущем каталоге - каталог 08-2007 (т.е. месяц-год)
    Если нет - создать такой каталог.
    Далее переходим в него.
    Проверяем есть ли каталог 10-08-2007 (текущая дата-месяц-год)
    Если нет - создать такой каталог.
    Далее переходим назад на уровень.
    Переносим *.dat в каталог 08-2007\10-08-2007
     
    Конец.
     

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



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

    Код:
     
    @echo off
    for /f "tokens=3 delims= " %%i in ('echo list volume ^| diskpart ^| findstr /l "Съемное"') do (
        echo %%i:
    )
     

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



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

    Код:
    @Echo Off
    Set dt=%Date%
    Set dtY=%dt:~9,4%
    Set dtD=%dt:~3,2%
    Set dtM=%dt:~6,2%
    MD %dtM%-%dtY%\%dtD%-%dtM%-%dtY%
    move *.dat %dtM%-%dtY%\%dtD%-%dtM%-%dtY%\
     

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 14:11 10-08-2007 | Исправлено: KapralBel, 14:18 10-08-2007
    Elroir



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

    Код:
     
    @echo off
    setlocal
    set "folder=%date:~3%"
    set "folder=%folder:.=-%"
    md %folder:~3%\%folder% 2>nul
    move *.dat %folder:~3%\%folder%
     
     
     
    Добавлено:
    KapralBel


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

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 14:11 10-08-2007 | Исправлено: Elroir, 14:13 10-08-2007
    vrush22



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

    Всего записей: 52 | Зарегистр. 08-01-2003 | Отправлено: 14:32 10-08-2007
    oie71

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

    Цитата:
     
    oie71  
     
    Цитата:нашёл место "вывала" :  
    когда запускается ftp или wget из батника через 30сек батник вылетает.  
    при этом фтп НОРМАЛЬНО докачивает файл!  
     
     
    Попробуй запускать ftp так:  
     
    Код:start /wait ftp -s:down.txt
     

     
    вчера побовал - вылет через 30 сек.
     
    решили радикально - написали прогу которая по очереди выполняет то, что ей передают в качестве параметров
     
    runrun.exe cmd1 ftp cmd2 - теперь пока фтп не отработает следующий кусок батника не запустится и ничего не вываливается
     
    Спасибо за совет.

    Всего записей: 66 | Зарегистр. 09-08-2006 | Отправлено: 16:48 10-08-2007
    SPV_Ed



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите, возможно ли такое:
    Есть директория с файлами, имена которых 1.jpg, 2.jpg, ... , 12.jpg
    Нужно обработать эти файлы в цикле по порядковому номеру, но dir возвращает не по порядковому номеру, а по алфавиту. Как отобразить по номеру?

    Код:
    C:\>dir /b
    1.jpg
    10.jpg
    11.jpg
    12.jpg
    2.jpg
    3.jpg
    4.jpg
    5.jpg
    6.jpg
    7.jpg
    8.jpg
    9.jpg

    Всего записей: 474 | Зарегистр. 20-06-2006 | Отправлено: 17:07 10-08-2007
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    SPV_Ed
    Переименнуй, так чтоб начинались с нуля, 001.jpg, 002.jpg и т.д
     

    Код:
     
    @echo off
    setlocal enabledelayedexpansion
    set /a c=0
    for /f "delims=" %%i in ('dir /b *.jpg') do (
        set /a c+=1
        set file=%%i
        call:_prefics
        call:_rename    
    )
    goto:eof
    :_prefics
    if %c% leq   9 set pref=000%c%
    if %c% gtr   9 set pref=00%c%
    if %c% gtr  99 set pref=0%c%
    if %c% gtr 999 set pref=%c%
    goto:eof
    :_rename
    ren "%file%" %pref%.jpg
     
     

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 18:22 10-08-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

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 3
    vu1tur (11-09-2007 15:22): продолжаем в теме Задачи на bat-файлах 4


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru