Тема: CMD/BAT: Удаление всех файлов, кроме указанных в переменной
Добрый день! Подскажите как можно решить такую задачку: Есть Папка в ней много подпапок, в каждой папке есть куча файликов вида ГГГГММДД.PRJ, где ГГГГ-год ММ-месяц, ДД-день. Необходимо удалить в папках все файлы кроме заданного в переменной FILENOTDELETE. То есть например нужен оставить сентябрь то маска должна быть 201309??.PRJ Нашел скрипт, попытался обработать но не получается, в условии не понимает ?? не *, то есть маску не понимает. Как быть? как задать что бы остались только те файлы которые указаны а остальные удалить.
@Echo On
setlocal enabledelayedexpansion
set FILEMASK=*.*
set FILEPATH=F:\AVT\PRJ\
set FILENOTDELETE=201309??.???
for /f %%i in ('dir /b /s "%FILEPATH%\%FILEMASK%"') do if /i not %%i==%%~dpi%FILENOTDELETE% del /f /q "%%i"
pause
exit
