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

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



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

    Цитата:
    Насколько мне известно, ни один из архиваторов под win, не умеет делать операции такого рода.  

    7-zip это делает. Тем более он прекрасно работает со списками файлов.

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 15:56 08-09-2007
    sD31337

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    привет , это снова я с тупыми вопросами =) хотел узнать возможно ли сдлеать батник каторый мог бы при запуске выполнять следующие действия  
     
    1. делать скрин шот экрана , сохронять его с определенным именем  
    2.копировать выделеный текс и встовлять его в другой документ. (возможно как ctrl+c ?ctrl+v только незнаю как привязть команду к сочитанию комбинаций клавиш )
    пример  
    открываю 1.тхт все в нем выделаю ctrl+c создаю 2.тхт весь копированый текст из первого файла встовляю вовторой.
     
    ну мне главное не копирование выделеного текста а вообще привязка команд с клавишами ctrl+c и ctrl+v
    знаю что можно воспользоватся copy хотелось узнать есть ли такай способ про каторый я тут написал =) надесю хоть кто нибудь поймет мой бред что я тут написал =) за ранние огромное спасибо
     
     

    Всего записей: 30 | Зарегистр. 27-10-2006 | Отправлено: 00:55 10-09-2007
    ilovevirus

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Maza Faka
    Сейчас у меня происходит подсчет строк, пока не найдена искомая строка и копирование всех строк после найденной в другой файл.
    Хотелось бы:
    1. увеличить скорость обработки за счет, не копирования, а удаления строк в заданном файле.
    2. возникает проблема подсчета пустых строк, во-первых они не учитываются, во-вторых вместо них в новом файле идут строки - "echo off".
    3. не могу выйти из цикла, когда нужная строка найдена, необходимо прервать цикл, что-то типа exit for, break, exit /b ....  
     
    Пожалуйста подскажите.
     
    Вот кусок кода:
    for /f  "tokens=1" %%A in (%WorkFile%) do (call :countStr "%%A")
    goto :eof
     
    :countStr
    if %1 neq "%beforeDate%" (
     set /a count_str+=1
     echo Skip string %1
     goto :eof) else (
     echo Find string %1
     echo delete strings=%count_str%
     @if %count_str% neq 0 (
      goto :findstr) else (
      goto :eof))
     
    :findstr
    echo "preparing to copy valid strings"
    for /f  "skip=%count_str% tokens=*" %%B in (%WorkFile%) do (echo %%B >> %LOGDIR%\%WorkFileName%_)
    goto :eof
     
    вот кусок данных:
     
    01.09.2007 20:21:02
     
    01.09.07 20:21:02 info: файл C:\128_109.txt
    01.09.07 20:21:02 info: файл настроек C:\Import.cfg
    01.09.07 20:21:02 info: Вызов функции импорта
     
    02.09.2007 21:21:02
     
    02.09.07 21:21:02 info: файл C:\128_110.txt
    02.09.07 21:21:02 info: файл настроек C:\Import.cfg
    ...

    Всего записей: 18 | Зарегистр. 19-09-2005 | Отправлено: 03:07 10-09-2007
    Elroir



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

    Цитата:
    хотел узнать возможно ли сдлеать батник каторый мог бы при запуске выполнять следующие действия

    Короткий ответ - нет. Смотри в сторону скриптов автоматизации, таких как AutoIt.

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

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

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Кто знает, помогите. Нужно написать bat'ик который:
     
    1. Пример:
        На диске D есть папка Music в ней много других папок (названия исполнителей, в том числе и кирилицей (руский и украинский)). Нужен батник который бы удалял именно заданую папку (а не только ее содержимое) например D:\Music\Русские\Кино или D:\Music\Украинские\Ані Лорак (удалить папку Кино или Ані Лорак) без вопроса о подтверждении.
     
    2. Копировать с флешки папку в заданую директорию  на компе с заменой всех файлов без подтверждения. А еще лучше чтобы этот батник запускался автоматически после обнаружения флешки (автозапуск)

    Всего записей: 38 | Зарегистр. 14-02-2006 | Отправлено: 13:38 10-09-2007 | Исправлено: whitecherep, 13:51 10-09-2007
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    whitecherep
    RD /q /q "D:\Music\Украинские\Ані Лорак"
     
    Добавлено:
    2. XCopy /?

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

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

    Цитата:
    whitecherep  
    RD /q /q "D:\Music\Украинские\Ані Лорак"

     
    Ничего не происходит. Проблема в русских и украинских буквах. На латинице удаляет.

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



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    whitecherep
    Сохрани батник в OEM (866) кодировке или первой строчкой поставь
    CHCP 1251

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 14:00 10-09-2007
    popalka



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите вот с такой задачкой, пожалуйста:
    есть корневая директория, в которой куча вложенных директорий и очень много всяких мелких файлов с разными датами создания.
    Нужно оценить размер (в байтах, килобайтах и т.д) всех файлов в корневой директории за определенный промежуток времени, например за январь прошлого года.
    Как бы это попроще сделать?
    Я пока только придумал копирование xcopy с ключом /d:01-03-2006 (отскает нижнюю границу ) и перемещение хвоста (отсекает верхнюю границы) и оценка остатка средствами операц. системы. (properties).
    Но как-то не изящно и при частом повторении операции неудобно.
    может кто знает как получше это организовать?
     
    PS cmd не обязательно, но желательно. в принципе любая тулза подойдет, только я таких не знаю.

    Всего записей: 70 | Зарегистр. 25-06-2004 | Отправлено: 16:09 10-09-2007 | Исправлено: popalka, 16:12 10-09-2007
    king_stiven

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

    Код:
    echo off
    mode con codepage select=1251 > nul
    set month=092007
    for /f "usebackq tokens=2,3,5 delims=. " %%d in (`dir /t:c /s /a:-d`) do if %%d%%e EQU %month% call :folding "%%f"
    setlocal enabledelayedexpansion
    echo !sum!
    goto :eof
    :folding
    for /f "usebackq tokens=1,2,3,4" %%g in ('%~1') do set /a sum+=%%g%%h%%i%%j

     
    Здесь суммируются все файлы за сентябрь 2007  set month=092007
     
    При условии, если команда dir /t:c /s /a:-d имеет вид

    Код:
    E:\Downloads\>dir /t:c /s /a:-d
     Том в устройстве E не имеет метки.
     Серийный номер тома: 40E1-D2CD
     
     Содержимое папки E:\Downloads\
     
    03.09.2007  12:44            67 584 01.xls
    03.09.2007  12:52            56 832 02.xls
    03.09.2007  12:52           171 520 03.xls
    03.09.2007  12:53           122 880 04.xls
    03.09.2007  12:53            27 648 06.xls
    10.09.2007  19:30               386 1.bat
    10.09.2007  19:12             2 063 1.txt
    28.08.2007  15:14         1 227 492 10.wmv.DMF
             . . .
     

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 21:14 10-09-2007 | Исправлено: king_stiven, 23:18 10-09-2007
    Elroir



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

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

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

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    вы хотите заработать деньги, ничего при этом не вкладывая?
    тогда вам сюда
    я лично заработал 150 рублей за несколько часов  :!:

    Всего записей: 1 | Зарегистр. 10-09-2007 | Отправлено: 22:58 10-09-2007 | Исправлено: vu1tur, 09:30 11-09-2007
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Elroir
    Тогда можно прибавить отдельно kb с kb, mb с mb и т.д. и вывести сумму в виде четырёх цифр, кои и сложить кулькулятором;)

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 23:34 10-09-2007
    popalka



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

    Всего записей: 70 | Зарегистр. 25-06-2004 | Отправлено: 08:49 11-09-2007
    ilovevirus

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребята, может кто сможет мне подсказать (вопрос выше)

    Всего записей: 18 | Зарегистр. 19-09-2005 | Отправлено: 10:22 11-09-2007
    popalka



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

    Всего записей: 70 | Зарегистр. 25-06-2004 | Отправлено: 13:19 11-09-2007
    vu1tur



    Moderator-Saaber
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    лимит страниц, продолжаем в теме Задачи на bat-файлах 4.

    ----------
    I am free of all prejudice. I hate everyone equally.

    Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 15:22 11-09-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