Войти

Показать полную графическую версию : [решено] Проверка папки на существование, с условием


tAnk3o3
04-03-2013, 14:03
Добрый день коллеги, никак не могу понять как написать условия проверки:
Есть директория C:\
Есть директория E:\
В директории E:\ появляются файлы, если есть файлы они перемещаются в созданную папку %CURDATE%,
Как написать условие, если папка %CURDATE% уже существует, то создать папку %CURDATE%_01, если существует папка %CURDATE%_01, то создать папку %CURDATE%_02 и т.д и перемещать в них файлы
Батник будет работать в цикле
Заранее огромное спасибо!

gora
04-03-2013, 16:04
@Echo Off
SetLocal EnableDelayedExpansion
Set CURDATE=e:\Temp\3 3\MyFolder
If Exist "%CURDATE%" (
For /L %%i In (101,1,199) Do (
Set ti=%%i
If Not Exist "%CURDATE%_!ti:~-2!" MD "%CURDATE%_!ti:~-2!"& GoTo :_ExitLoop
)
)
:_ExitLoop
:: Здесь перемещение файлов (каких, откуда и куда, ТС не определил в ТЗ)
Pause

tAnk3o3
05-03-2013, 10:08
Огромное спасибо, я к сожалению не совсем понимаю
поясните, если я буду копировать/перемещать/ файлы с типом файлов msg.tmp, как я буду это указывать в данном ТЗ
Заранее спасибо.

gora
05-03-2013, 10:44
как я буду это указывать в данном ТЗ »
Как я вижу Вашу задачу, ТЗ:
Имеется папка источник e:\Temp\source.
В ней имеются (периодически появляются\ могут присутствовать) файлы (если тип и имена их не имеют значения, то их указывать не нужно, в противном случае указать их типы и примеры имен)
ВАЖНО! Имеются ли в папке источнике вложенные папки с указанными файлами и требуется ли их тоже обрабатывать.
Вложенных папок нет (предположим).
Требуется при запуске батника:
- проверить наличие файлов в папке источнике и, если их нет, то выход из батника
- если файлы есть, то скопировать (или переместить) их в папку приемник e:\Temp\destination
-- если папки e:\Temp\destination нет, то создать ее и только затем скопировать (или переместить) их в нее
-- если папка e:\Temp\destination уже существует, то создать новую папку e:\Temp\destination_01 и только затем скопировать (или переместить) их в нее
-- если папка e:\Temp\destination_01 уже существует, то создать новую папку e:\Temp\destination_02 и только затем скопировать (или переместить) их в нее
-- и т.д...
Копировать (или перемещать) нужно всегда во вновь созданную папку.

Примерно так.

tAnk3o3
05-03-2013, 11:06
ТЗ решена, низкий поклон :)




© OSzone.net 2001-2012