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

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

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    kumarp
    curl -q --output files.txt --list-only ftp://ftp.rarlab.com/rar/

    Всего записей: 1667 | Зарегистр. 08-12-2004 | Отправлено: 15:12 29-06-2008
    kumarp

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    igor_andreev
    Если я правильно понял, то curl не может загружать файлы по маске *.txt, например. Что ж, буду через список файлов. Спасибо, igor_andreev, Вы меня очень выручили.

    Всего записей: 15 | Зарегистр. 29-06-2008 | Отправлено: 17:34 29-06-2008
    igor_andreev

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

    Всего записей: 1667 | Зарегистр. 08-12-2004 | Отправлено: 03:19 30-06-2008
    alexvsm



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    JI063uk
    там в постановке задачи было выбрать только адрес конкретного подключения и отправить на SMS.
    GM07
    напиши хоть работает или нет

    Всего записей: 140 | Зарегистр. 23-11-2004 | Отправлено: 13:53 30-06-2008
    kumarp

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    igor_andreev
    ок, и как же мне при помощи curl загрузить файлы по маске? что-то раньше не получалось, видимо какой-то ключ пропускаю..

    Всего записей: 15 | Зарегистр. 29-06-2008 | Отправлено: 00:46 01-07-2008
    igor_andreev

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    kumarp
    Нет, не пропускаешь Но такой ключ есть у wget, они с curl друг-друга здорово дополняют, удобнее обеими сразу пользоваться. Curl-ом хорошо скачивать пронумерованные файлы, типа url/file[01-99].txt.
    Все подряд файлы *.txt из папки на фтп именно curl-ом можно слить так:
    for /f %%a in ('curl -q -l ftp://url/dir/ ^| findstr /i ".txt$"') do curl -q -O ftp://url/dir/%%a

    Всего записей: 1667 | Зарегистр. 08-12-2004 | Отправлено: 15:19 01-07-2008
    Elver



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Уважаемые! Помогите сделать BAT-файл. Задача такая: Архивирование файлов по маске (*.doc, *.xls ...) в определенную (сетевую) папку на серваке с предварительным вводом логина и пароля и на локальном компе. Файлы должны собираться по всем дискам с момента последней архивации. Наверное правильнее будет с учетом последнего дня последнего архива по текущую дату. В будущем БАТник будет работать примерно 1 раз в неделю. Может немного чаще. Заранее благодарю!!!  

    Всего записей: 9 | Зарегистр. 12-09-2006 | Отправлено: 23:21 01-07-2008
    igor_andreev

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Elver
    Вряд ли раньше сентября тебе помогут. Щас лето, жара, все экстрасенсы по отпускам. Они приедут к осени и наверняка скажут, каким архиватором ты хочешь бэкапить. А нам щас остается только догадываться...

    Всего записей: 1667 | Зарегистр. 08-12-2004 | Отправлено: 01:17 02-07-2008
    Elver



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Лучше РАРом конечно. Но можно и ЗИПом, если это критично.

    Всего записей: 9 | Зарегистр. 12-09-2006 | Отправлено: 01:40 02-07-2008
    magazinus



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Необходимо батником стократно размножить одну и ту же папку, добавляя в конце к исходному имени индекс 0001, 0002, ... 0100.

    Всего записей: 1364 | Зарегистр. 14-01-2007 | Отправлено: 16:34 02-07-2008
    sVx



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    magazinus
    создать файл index.txt с cодержимым:
    (из exel копи в txt)

    Код:
     
    0001
    0002
    ...
    0100
     


    Код:
     
    @echo off
    echo Ќ §ў -ЁҐ Ї ЇЄЁ:
    set /p name=
    FOR /F %%i IN (index.txt) DO md %name%%%i
     

    ждем вариант от гуру
    но так тоже работает

    Всего записей: 157 | Зарегистр. 17-06-2004 | Отправлено: 18:05 02-07-2008
    01MDM



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

    Цитата:
    стократно размножить одну и ту же папку

     

    Код:
     
    @echo off
    set "folder=FolderName"
    for /l %%i in (1,1,100) do set "index=000%%i" && call:1
    goto:eof
     
    :1
    xcopy /e "%folder%" "%folder%-%index:~-4%\" 1>nul  
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 18:43 02-07-2008 | Исправлено: 01MDM, 18:44 02-07-2008
    magazinus



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    sVx
    01MDM
    Огромное спасибо. Оба варианта подошли и оба от гуру.
     
    P.S. Да, второй вариант от гуру идеален...!

    Всего записей: 1364 | Зарегистр. 14-01-2007 | Отправлено: 20:31 02-07-2008 | Исправлено: magazinus, 01:27 03-07-2008
    magazinus



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Есть две равные порции по несколько тысяч папок, также есть два текстовых файла с названием (каждое на отдельной строке) и полным абсолютным путем до них. В первом файле dir1.txt один список, в dir2.txt - второй.
    Задача: батником переименовать все папки из dir2.txt названиями из dir1.txt, сохраняя индексы имен.
    Примечание: путь может содержать пробелы, спец. символы, русс. буквы.

    Всего записей: 1364 | Зарегистр. 14-01-2007 | Отправлено: 00:34 06-07-2008
    Elroir



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

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

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 02:21 06-07-2008
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Elroir
    Я так понимаю, он хочет первый файл из 2 списка переименовать в первый файл из 1 списка,
    второй файл из 2 списка переименовать во второй файл из 1 списка,
                ...

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



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    magazinus
    Если как понял king_stiven:
     

    Код:
     
    @echo off
    setlocal
    chcp 1251 1>nul
     
    set skip=0
    for /f "tokens=*" %%i in (dir_2.txt) do call:rename "%%i"
    goto:eof
     
    :rename
    for /f "tokens=*" %%i in ('more +%skip% dir_1.txt') do (
        ren %1 "%~dp1%%~nxi" && goto:skip
    )
    :skip
    set /a skip+=1
     

     

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



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Elroir
    Да, именно так, как написал king_stiven: первое имя из dir1.txt должно присвоиться первому имени из dir2.txt, второе - второму, третье - третьему и т.д. по списку (порции равные, как уже писал).
     
    01MDM
    Спасибо, позже проверю - отпишусь.

    Всего записей: 1364 | Зарегистр. 14-01-2007 | Отправлено: 13:13 06-07-2008
    Lapochka ili Chai



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Господа, помогите, пожалуйста (если это не очень сложно!), написать батник, который удалял бы у имени файла, переданного ему как параметр, всё, содержащееся в парных скобках (если скобки парные, т.е. если к открывающей есть закрывающая).
     
    Например, файл
     
    abc(qwer).txt
     
    должен быть переименован в  
     
    abc.txt
     
    а файл
     
    abc(qwer(фвыа)).txt
     
    должен быть переименован в тоже в  
     
    abc.txt
     
     

    Всего записей: 847 | Зарегистр. 27-11-2003 | Отправлено: 19:32 06-07-2008
    Joolz

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Lapochka ili Chai
    Файл полученный из abc(qwer).txt должен затираться файлом из abc(qwer(фвыа)).txt?

    Всего записей: 100 | Зарегистр. 24-01-2008 | Отправлено: 14:00 07-07-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.Board
    © Ru.Board 2000-2020

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru