Показать полную графическую версию : Поиск и сортировка файлов по части названия
registeruser1
03-05-2017, 19:14
Друзья, доброго времени суток.
Ситуация следующая - есть папка, в ней еще куча папок с файлами.
Файлы помечены в конце названия плюсами через пробел, например:
имя_файла +.txt
имя_файла + +.txt
имя_файла + + +.txt
Таких файлов по вложенным разным папкам больше нескольких тысяч.
Нужно отсортировать все эти файлы по трем разным папкам - с одним, двумя и тремя плюсами.
Помогите пожалуйста с данной ситуацией...
Заранее благодарю...
megaloman
03-05-2017, 23:06
@Echo Off
Set "BoxIn=Z:\Box_In"
Set "File1=* +.txt"
Set "File2=* + +.txt"
Set "File3=* + + +.txt"
Set "BoxOut1=Z:\Box_Out\+"
Set "BoxOut2=Z:\Box_Out\+ +"
Set "BoxOut3=Z:\Box_Out\+ + +"
FOR /F "usebackq delims=" %%f IN (`Dir "%BoxIn%\%File3%" /B /A-D /S 2^>nul`) DO Call :PlusMove "%%f" "%BoxOut3%"
FOR /F "usebackq delims=" %%f IN (`Dir "%BoxIn%\%File2%" /B /A-D /S 2^>nul`) DO Call :PlusMove "%%f" "%BoxOut2%"
FOR /F "usebackq delims=" %%f IN (`Dir "%BoxIn%\%File1%" /B /A-D /S 2^>nul`) DO Call :PlusMove "%%f" "%BoxOut1%"
GoTo :Eof
:PlusMove
Set "In=%~dp1"
Set "Out=%~2"
Call Set "Out=%%In:%BoxIn%=%Out%%%
If Not Exist "%Out%" Md "%Out%"
Move %1 "%Out%" >nul
GoTo :Eof@Echo Off
Set "BoxIn=Z:\Box_In"
Set "File1=* +.txt"
Set "File2=* + +.txt"
Set "File3=* + + +.txt"
Set "BoxOut1=Z:\Box_Out\+"
Set "BoxOut2=Z:\Box_Out\+ +"
Set "BoxOut3=Z:\Box_Out\+ + +"
FOR /F "usebackq delims=" %%f IN (`Dir "%BoxIn%\%File3%" /B /A-D /S 2^>nul`) DO Call :PlusMove "%%f" "%BoxOut3%"
FOR /F "usebackq delims=" %%f IN (`Dir "%BoxIn%\%File2%" /B /A-D /S 2^>nul`) DO Call :PlusMove "%%f" "%BoxOut2%"
FOR /F "usebackq delims=" %%f IN (`Dir "%BoxIn%\%File1%" /B /A-D /S 2^>nul`) DO Call :PlusMove "%%f" "%BoxOut1%"
GoTo :Eof
:PlusMove
If Not Exist %2 Md %2
Move /Y %1 "%~2\" >nul
GoTo :Eof
(внимание! при совпадении имён в разных папках останется один файл с этим именем) »
@#$%! Почему, ну, почему никогда не обращают на это внимание при озвучивании своих ТЗ?!
registeruser1
04-05-2017, 05:38
megaloman, спасибо, но не хочет работать. Просто запускается и все закрывается.
Если это поможет, у меня стоить ХР-x64 SP2.
registeruser1, не поможет. Чтобы помогло, Вы должны полностью и подробно описать свои действия: какой именно код брали — первый или второй, правили ли код по своим потребностям (например, меняли имена папок), в какой кодировке сохраняли пакетный файл, как исполняли пакетный файл и т.д.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2024, Jelsoft Enterprises Ltd.