Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Удаление файлов по маске в подкаталогах с одинаковыми именами. (http://forum.oszone.net/showthread.php?t=263071)

Xarien 24-06-2013 12:31 2173279

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

megaloman 24-06-2013 13:52 2173347

Код:

@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 2173381

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

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


Время: 20:21.

Время: 20:21.
© OSzone.net 2001-