|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Обработка нескольких файлов |
|
CMD/BAT - [решено] Обработка нескольких файлов
|
Новый участник Сообщения: 13 |
Профиль | Отправить PM | Цитировать Добрый день.
Есть SFTP сервер , на который постоянно поступают XML файлы в виде (Request20100310-01.xml) Есть батник который переименовывает этот XML файл в Request.xml (это имя не меняется) , копирует и отправляет этот файл дальше, после чего файл удаляется. Загвоздка в том что , поступающих XML файлов может быть сколько угодно (Request20100310-01, 02, 03.xml) Как сделать так чтобы каждый файл обрабатывался отдельно, то есть сначала один переименовался, скопировался, отправлялся, удалялся , потом другой. И так до тех пор пока все файлы не будут отработаны. Заранее спасибо. |
|
Отправлено: 15:32, 10-03-2010 |
Пользователь Сообщения: 61
|
Профиль | Отправить PM | Цитировать что то типа
for %%T IN (Request20100310-*.xml) do (что то делаем) попробуй для начала их копировать просто. Да, скобки после DO разноси на разные строки если команд много будет. есть смысл еще тут поискать ://forum.ru-board.com/topic.cgi?forum=62&topic=10650&glp |
Отправлено: 17:33, 10-03-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 13
|
Профиль | Отправить PM | Цитировать Похоже на правду. С копированием проходит, но как только доходит до строчки move, то получаю ошибку : A duplicate file name exists, or the file cannot be found.
Такое чувство что цикл не отрабатывает. Подскажите где поправить. Вот кусок кода. |
Отправлено: 13:19, 11-03-2010 | #3 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата laipisas02:
|
|
Отправлено: 16:57, 11-03-2010 | #4 |
Новый участник Сообщения: 13
|
Профиль | Отправить PM | Цитировать Вот собственно сам скрипт
@echo off set sftp_home="D:\- BACKUP\SFTP" set sgw_home="D:\- Applications\sgw" set sgw_backup="D:\- BACKUP\SGW" set XML_PREFIX=ping IF EXIST %sftp_home%\*.xml GOTO moving IF NOT EXIST %sftp_home%\*.xml GOTO exit :moving FOR %%a IN (%XML_PREFIX%*.xml) do ( copy %sftp_home%\*.xml %sgw_backup% copy %sgw_backup%\*.xml "D:\- BACKUP\SGW\incoming" d: cd %sftp_home% ren %XML_PREFIX%*.xml %XML_PREFIX%.xml move %sftp_home%\%XML_PREFIX%.xml %sgw_home%\sending cd %sgw_home% call send.bat (за отправку файла отвечает этот батник) del %sgw_home%\sending\%XML_PREFIX%.xml ) :exit exit |
|
Отправлено: 19:09, 11-03-2010 | #5 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата laipisas02:
|
|
Отправлено: 05:30, 12-03-2010 | #6 |
Новый участник Сообщения: 13
|
Профиль | Отправить PM | Цитировать Цитата amel27:
|
|
Отправлено: 10:29, 12-03-2010 | #7 |
Ветеран Сообщения: 1273
|
Профиль | Отправить PM | Цитировать laipisas02, цикл используете, а переменную цикла нет.
В общем, пробуйте @echo off set "sftp_home=D:\- BACKUP\SFTP" set "sgw_home=D:\- Applications\sgw" set "sgw_backup=D:\- BACKUP\SGW" set XML_PREFIX=ping if not exist "%sftp_home%\*.xml" exit /b 0 for %%a in ("%sftp_home%\%XML_PREFIX%*.xml") do ( copy /y "%%a" "%sgw_backup%" 1>nul 2>&1 copy /y "%%a" "%sgw_backup%\incoming" 1>nul 2>&1 move /y "%%a" "%sgw_home%\sending\%XML_PREFIX%.xml" 1>nul 2>&1 call "%sgw_home%\send.bat" ) del /f /q "%sgw_home%\sending\%XML_PREFIX%.xml" |
Отправлено: 21:23, 12-03-2010 | #8 |
Новый участник Сообщения: 13
|
Профиль | Отправить PM | Цитировать El Sanchez, спасибо. То что надо. Единственное я не понял значения 1>nul 2>&1, с этими значениями скрипт не работал.
|
Отправлено: 15:43, 15-03-2010 | #9 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Предварительная обработка .flv-файлов в VirtualDub-e для записи на DVD. | DJ Mogarych | Видео и аудио: обработка и кодирование | 18 | 29-05-2011 02:47 | |
Медиа - Массовая обработка mp3-файлов | Nel | Программное обеспечение Windows | 32 | 04-02-2010 13:02 | |
[решено] обработка файлов при помощи модуля Excel.au3 | SvetlanaK | AutoIt | 2 | 09-02-2009 11:41 | |
[решено] Скриптовая обработка файлов | dmon_s | Программирование в *nix | 3 | 31-08-2007 02:11 | |
отправка клиенту нескольких файлов | Andrewkras | Вебмастеру | 2 | 19-12-2003 09:10 |
|