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

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

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

vu1tur (25-01-2010 12:41): лимит страниц, продолжение: http://forum.ru-board.com/topic.cgi?forum=62&topic=19668  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 109 110 111 112 113 114 115 116 117

   

vu1tur



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

 
Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!!
 
Также для удаления концевых пробелов пользуйтесь скриптом от Nagual, или VBS-Скрипт-Модулем от ViSiToR.
 
Для перекодирования кирилицы 866<<>>1251 пользуйтесь онлайн сервисом Перекодировщик кириллицы

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 11:37 26-05-2009 | Исправлено: TechnicsKuzya, 13:53 27-12-2009
    mugil_cephalus

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    FeelThePain
    чтоб в md k1 параметр "k1" вводился при запуске батника - c:\>1.bat k1   ??

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 11:46 19-11-2009
    BVV63



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите, пожалуйста, можно ли как-то из вывода программ (при перенаправлении его в файл) удалить пустые строки?
    Я попробовал в For... In... Do..., но там работает лишь если программа отработала удачно, а если программа обнаружила ошибку, то вывод почему-то вообще отсутствует. Может, конечно, это специфика определённой программы (я использовал команду "Net Time").
    В этой теме я натыкался на Set /P, но не смог с ним разобраться.

    Всего записей: 3542 | Зарегистр. 17-08-2009 | Отправлено: 07:12 20-11-2009
    mouser

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    как с ФТП получить файлы по маске(file*) а затем все полученые файлы удалить с ФТП  
     

    Всего записей: 800 | Зарегистр. 10-11-2006 | Отправлено: 09:05 20-11-2009
    BVV63



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    И ещё вот такой вопрос. При выполнении батника в контексте локальной системы команда
    Net Time /Domain:"UserDNSDomain" /Set /Yes
    отлично отрабатывает, говорит что на контроллере домена время такое-то и такое-то и что синхронизация успешно выполнена.
    А вот команда
    Echo "UserDNSDomain">>%LogFile%
    Выводит "Echo is Off.".
    Я посредством "AT /Interactive" (запускает задание в контексте локальной системы) открыл консоль, выполнил "Set", действительно под системой ни переменной "UserDNSDomain", ни "UserDomain" не существует. Соответственно, Echo и не выводит её. Но тогда как объяснить, что переменная работает в "Net Time" (без ключа "/Domain" получаю ответ, что сервер времени не найден)?

    Всего записей: 3542 | Зарегистр. 17-08-2009 | Отправлено: 09:07 20-11-2009 | Исправлено: BVV63, 09:10 20-11-2009
    mouser

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    вот есть пример ... но если за это время появится еще один файлик ???  
    open IP port
    login
    pass
    cd /dir
    prompt
    mget file*
    mdelete file*
    quit
     
     
    Добавлено:
    то есть нужно чтоб  список скачанных файлов затем по этому  списку удалились файлы

    Всего записей: 800 | Зарегистр. 10-11-2006 | Отправлено: 09:15 20-11-2009
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Так. я вижу вы sed занялись? Нужно вывести 154 строку с 14 символа вида
            тут текст идёт            </div>
    то есть с начала 154 строки пропускаем 13 символов Tab , затем нужный текст оставляем, затем все Tab ы после нужного текста и </div> игнорируем.
     
    mouser
    Тебе непонятно как из готового списка файлов удалить их?

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 11:03 20-11-2009
    mouser

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    к примеру mget file* начинает копировать файло на локалку  
     
    копирование:
    1.txt - processed
    2.txt - processed
    3.txt - processed
    4.txt - process
    5.txt -  
     
    и к примеру появляется файл 3_1.txt то есть в очередь копирования он не попал, а на след. команде его прибъют (((

    Всего записей: 800 | Зарегистр. 10-11-2006 | Отправлено: 11:30 20-11-2009
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mouser
    mget это что команда? запусти её через goto, для подробного приведи копирование подробнее.

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 11:54 20-11-2009
    mouser

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ну вот пример пока копируется fringe_1.avi на фтп появляется fringe_2.avi  
    результат: fringe_1.avi скопировался, а fringe_2.avi удалился (( потому что его не было перед запуском mget
     
     
    open IP port
    login
    pass
    cd /input_output
    prompt
    mget fringe*
    mdelete fringe*
    quit
     
    call ftp -s:ftp.ini
     
    mget - копирует файлы с фтп

    Всего записей: 800 | Зарегистр. 10-11-2006 | Отправлено: 12:04 20-11-2009
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mouser
    Ну тогда создай список файлов которые скопировались точно. это надо смотреть команду mget fringe*

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 12:31 20-11-2009
    mouser

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

    Всего записей: 800 | Зарегистр. 10-11-2006 | Отправлено: 12:43 20-11-2009
    king_stiven

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

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 13:06 20-11-2009
    mouser

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    king_stiven
    такого нет в ftp
     
     
    ДРУГИЕ СПОСОБЫ ЕСТЬ .. КРОМЕ ПРЕДЛОЖЕНОГО ??

    Всего записей: 800 | Зарегистр. 10-11-2006 | Отправлено: 13:18 20-11-2009
    webms

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    омогите люди добрые, как написать батни к чтоб из текстового файла с каждой строки брал ссылки типа:
     
    _magne:txt=urn:tree:tiger:7KUVVUEJUFWLE4F4_test1.avi
    _magne:txt=urn:tree:tiger:7KUVVUEJUFWLE4F4_test2.av
     
    и в другой тектовой файл сохранял ссылки типа:
     
    _[ulr=magne:txt=urn:tree:tiger:7KUVVUEJUFWLE4F4_test1.avi]test1[/url]
    _[ulr=magne:txt=urn:tree:tiger:7KUVVUEJUFWLE4F4_test2.avi]test2[/url]
     
    За ранее благодарен!!!

    Всего записей: 27 | Зарегистр. 19-11-2009 | Отправлено: 14:12 20-11-2009
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mouser ну значит проси у сервера список файлов, выходи из ftp, конвертируй список в новую серию команд скрипта и запускай с ним заново для поименной скачки/удаления.
     
    а rename в ftp поддерживает * ?
    может можно поменять расширение, скачать по новой маске, удалить по ней же и переименовать скачанные обратно?
     
    Добавлено:
    webms наверно так:
    sed -rn "s/^_(magne.+_)(.+)(\..{1,3})$/_[ulr=\1\2\3]\2[\/url]/gp" file1 >file2

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 14:17 20-11-2009 | Исправлено: wolf0425, 14:29 20-11-2009
    webms

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    wolf0425
    огромное спасибо за ответ..
     
    только. или у меня руки кривые, или что то не то сделал, подскажите как настроить пожалуста, у меня выдает отшибку
     
    http://clip2net.com/clip/m27555/1258716763-clip-49kb.png

    Всего записей: 27 | Зарегистр. 19-11-2009 | Отправлено: 14:33 20-11-2009
    wolf0425



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

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 14:55 20-11-2009
    webms

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    возможно вам я уже надоел, но помогите плз, нашел потавил sed.exe  
     
    http://clip2net.com/clip/m27555/1258718688-clip-54kb.png
     
    файл пустой (file2.txt) и ошибок нет некаких

    Всего записей: 27 | Зарегистр. 19-11-2009 | Отправлено: 15:05 20-11-2009
    wolf0425



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

    Цитата:
    файл пустой (file2.txt) и ошибок нет некаких
    может у тебя в списке пробел перед концом строки, а мне его не видно было?

    Код:
    sed -rn "s/^_(magne.+_)(.+)(\.[^ ]{1,3}) *$/_[ulr=\1\2\3]\2[\/url]/gp" file1.txt > file2.txt

     
    держи вариант без sed

    Код:
    for /f "tokens=1,* delims=_" %%a in (file1.txt) do 1>> file2.txt echo _[ulr=%%a_%%b]%%~nb[/url]  

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 15:08 20-11-2009 | Исправлено: wolf0425, 15:17 20-11-2009
    webms

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ААААА!!!!...СПАСИБО...ЗАРАБОТАЛО!!!...

    Всего записей: 27 | Зарегистр. 19-11-2009 | Отправлено: 15:16 20-11-2009
       

    Страницы: 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 109 110 111 112 113 114 115 116 117

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 7
    vu1tur (25-01-2010 12:41): лимит страниц, продолжение: http://forum.ru-board.com/topic.cgi?forum=62&topic=19668


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru