Вы, вероятно, узнаете скрипт ниже, особенно эту команду, которая была размещена здесь более года назад:

for /f %%i in ('dir /a:d /s /b *PGP Corporation*') do echo rd /s %%i

Однако у меня возникают проблемы с ним, потому что он не распознает PGP Corporation , все, что он видит, это PGP я пробовал кавычки, но это не помогло. Есть идеи?

@echo off
cls
echo searching for pgp corp folders
cd c:\users
for /f %%i in ('dir /a:d /s /b *PGP Corporation*') do echo rd /s %%i
echo are these the folders you want to delete? 
choice /t 15 /d n /M "Do you want to delete these folders type y for yes"
if errorlevel 2 goto no
if errorlevel 1 goto yes
goto end

:no
echo you slelected no
pause
goto end

:yes
echo you selected yes and the folders will be deleted
for /f %%i in ('dir /a:d /s /b *PGP Corporation*') do rd /s /q %%i

choice /t 15 /d n /m "Do you want to try and install PGP 10.3 now?
if errorlevel 2 goto noo
if errorlevel 1 goto yess

:noo
echo you selected not to instal. Goodbye.
goto end

:yess
echo Installation of PGP will begin Momentarily
"\\dts\apps\PGP\PGP Latest\pgp 103 64bit.msi"

pause

1 ответ1

1

В вашей папке есть пробелы, поэтому вам нужно заключить ее в двойные кавычки (как для команды for так и для команды do ) и указать, что цикл for не должен использовать пробелы в качестве разделителей с опцией delims :

for /f "delims=" %%i in ('dir /a:d /s /b "*PGP Corporation*"') do echo rd /s "%%i"

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