Код моего пакетного файла:

for /f "delims=" %%f in (7profiledeletelist.txt) do rd /s /q "%%f"
PAUSE
exit

В "7profiledeletelist.txt" есть: (будет удалено)

C:\Users\1* (I tried *.* it didnt work)
C:\Users\2* (I tried *.* it didnt work)
C:\Users\3* (I tried *.* it didnt work)
C:\Users\4* (I tried *.* it didnt work)
C:\Users\5* (I tried *.* it didnt work)
C:\Users\6* (I tried *.* it didnt work)
C:\Users\7* (I tried *.* it didnt work)
C:\Users\8* (I tried *.* it didnt work)
C:\Users\9* (I tried *.* it didnt work)
C:\Users\M* (I tried *.* it didnt work)
C:\Users\T* (I tried *.* it didnt work)

Но через этот 7profiledeletelist.txt бат файл не может ничего удалить. Если я удаляю * и если я пишу точное имя, это работает хорошо. Я хочу удалить все папки, начиная с MT и от 1 до 9 в Users. Как я могу изменить "7profiledeletelist.txt" или пакетный скрипт. Есть ли ошибочный код в пакетном скрипте? Заранее спасибо :(

1 ответ1

1

RD не поддерживает подстановочные знаки - следовательно, предоставление полного имени папки работает.

Вы можете расширить свой скрипт, чтобы получить полные имена папок (только требуемый уровень), записать их в другой текстовый файл и использовать его для запуска команды RD в вашем скрипте.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .