Пакетный файл
for /f "delims=" %%f in (7profiledeletelist.txt) do rd /s /q "%%f"
PAUSE
exit
7profiledeletelist.txt
C:\Users\1*
C:\Users\2*
C:\Users\3*
C:\Users\4*
C:\Users\5*
C:\Users\6*
C:\Users\7*
C:\Users\8*
C:\Users\9*
C:\Users\M*
C:\Users\T*
После прочтения 7profiledeletelist.txt файл, bat файл ничего удалить не может.
Если я удалю *
и напишите точное имя каталога, в котором он работает. Я хочу удалить все папки, начинающиеся с M
, T
, 1
до того как 9
в каталоге пользователей.
Как 7profiledeletelist.txt
или пакетный скрипт нужно изменить, чтобы он заработал? Есть ли ошибочный код в пакетном скрипте?
В соответствии с этот вопрос и ответ, rmdir
не принимает подстановочные знаки. Однако, выполнив следующую команду:
for /D %f in (1*) do rmdir %f /s /q
удаляет все папки, начинающиеся с 1
.
В соответствии с этот вопрос и ответ можно читать файл построчно, используя пакетную обработку.
rmdir_regex.bat
@echo off
for /f "tokens=*" %%a in (7profiledeletelist.txt) do (
for /D %%f in (%%a) do rmdir %%f /s /q
)