Я никогда не использовал пакетное программирование раньше, мой опыт работы с Java и C#, но я хотел попробовать учиться. Я пытаюсь создать скрипт, чтобы при запуске я поместил путь к каталогу, а затем программа будет проходить через каждый файл в указанной папке, сообщите мне его имя и спросите, хочу ли я его удалить. Это то, что я до сих пор:Пакетное программирование, путаница в отношении синтаксиса цикла FOR?
@ECHO off
set /p folder="Folder Address: "
FOR /R %folder% %%G IN (.) DO (
set filepath=%%~dpa
set /p delete="Delete?: "
IF %delete%="Y" IF %delete%="y"(
del %filepath%
)
pause
)
Так что, когда я начинаю сценарий, он запрашивает адрес папки. Я набираю C: \ Users \ Tim \ Downloads и нажимаю Enter. Затем командная строка закрывается и ничего не происходит. Я изучал синтаксис цикла FOR и еще много чего, но я все еще не могу найти то, что я делаю неправильно. Любая помощь будет оценена, спасибо!
Редактировать: Я уверен, что существуют различия в синтаксисе между операционными системами. Так что в случае, если это важно, у меня есть для Windows 7.
Edit: Я обновил код, что npocmaka предложил:
@ECHO off
set /p folder="Folder Address: "
FOR /R %folder% %%G IN (.) DO (
set filepath=%%~dpa
set /p delete="Delete?: "
IF /I !delete!="Y"(
del !filepath!
)
pause
)
Он по-прежнему дает те же результаты, однако.
Вы можете использовать команду дерева.
Пример: дерево D: \ – RookieTEC9