![]() |
Поиск файла, перемещение, удаление исходной папки cmd\bat
Встала задача написать скрипт для сортировки некоторого количества файлов
Помогите разобраться в процессе К примеру: 1. Найти файл search1.txt в D:\Temp\ включая подкоталоги 2. Если найден, то создать папку E:\find1 и переместить в неё сам файл 3. Найти файл search2.txt в D:\Temp\ включая подкоталоги 4. Если найден, то создать папку E:\find2 и переместить в неё сам файл удалив папку исходного файла со всем ее содержимым. |
Код:
@echo off |
Foreigner, Спасибо, работает, правда не во всех случаях
1. - не дружит с пробелами, ни в какую, если в имени файла или каталога есть пробел, то выдает "ошибка синтаксиса" Решилось скобками на переменных @echo off for /f "tokens=*" %%i in (' dir /b /s /a "D:\Temp\search*.txt" ') do ( if "%%~nxi"=="search1.txt" (md "E:\find1" && move "%%i" "E:\find1") if "%%~nxi"=="search2.txt" (md "E:\find2" && move "%%i" "E:\find2" && rd /s /q "%%~dpi") ) 2. Если папка в которую нужно перемещать (прим E:\find1) существует, то на этом скрипт затыкается :-( |
Вроде поправил
Код:
@echo off |
Последние грабли
search2.txt и search3.txt лежат в одной папке, вне зависимости от того найден ли search3.txt папка в которой лежат оба файл удаляется, как сделать что бы она оставалась живой если найден search2.txt, но не найден search3.txt? Цитата:
|
Цитата:
Код:
... |
Время: 05:51. |
Время: 05:51.
© OSzone.net 2001-