Войти

Показать полную графическую версию : [решено] Удаление файлов по маске в подкаталогах с одинаковыми именами.


Xarien
24-06-2013, 12:31
Есть локальный диск на файловом сервере. На нём есть Папка с заказами клиентов. (Zakaz) в ней есть великое множество папок, с множетсвом подпапок. Но в каждой из папок существует подпапка с одинаковым для всех каталогов именем - "на стп". В ней лжит несколько файлов, включая файлы *.rar .
Необходимо найти в подпапках "на стп" эти *.rar и удалить. не затрагивая *rar в других папках. Толкьо в "на стп".
Можно ли это сделать? Путь то к нужной папке каждый раз разный, так как папки верхнего уровня естественно имеют разные имена.

megaloman
24-06-2013, 13:52
@Echo Off

Set "Where=E:\Zakaz\"
Set "What=на стп"
Set "Mask=*.rar"

Set "Clear=\%What%\."
Set "Repl=\%What%\%Mask%"

SetLocal EnableExtensions EnableDelayedExpansion

FOR /R "%Where%" %%D IN (.) DO (
Set DD=%%D
Set DD=!DD:%Clear%=%Repl%!
If Not "!DD!"=="%%D" Echo Del "!DD!"
)
Батник должен быть в файле с 866 кодировкой (Dos)
Для отладки сделано Echo Del "!DD!" - Вы можете убедиться в правильности работы батника
Для реального удаления уберите Echo перед Del "!DD!"

Xarien
24-06-2013, 14:52
megaloman, Спасибо:) Как проверю - Отмечу решённой:)

Проверил. То что доктор прописал!:) Благодарю.




© OSzone.net 2001-2012