Dir удаляется с помощью команды в cmd, но не той же командой в файле bat - PullRequest
0 голосов
/ 24 февраля 2019

Я пытаюсь удалить каталог, который соответствует некоторому префиксу.

Я бы хотел, чтобы это было возможно, вызвав какой-нибудь bat-файл.

Запись for /D %f in (C:\Windows\Temp\_MEI*) do rmdir /s %f непосредственно в cmd действительно удаляет всепапка, которая соответствует префиксу.

Хотя, вызов test.bat, который имеет только командную строку выше, просто ничего не делает, и я получаю сообщение "... было неожиданно в это время".

C:\Users\Borat\olympus-skeleton\dist>test.bat
\Windows\Temp\_MEI*) was unexpected at this time.
C:\Users\Borat\olympus-skeleton\dist>for /D \Windows\Temp\_MEI*) do rmdir /s f
C:\Users\Borat\olympus-skeleton\dist>

Почему это?

1 Ответ

0 голосов
/ 24 февраля 2019

См. Документацию для for:

Синтаксис

for {%%|%}<Variable> in (<Set>) do <Command> [<CommandLineOptions>]

Параметры

Параметр Описание

{%%|%}<Variable> Требуется.Представляет заменяемый параметр.Используйте один знак процента (%) для выполнения команды for в командной строке.Используйте двойные знаки процента (%%) для выполнения команды для в пакетном файле.Переменные чувствительны к регистру, и они должны быть представлены алфавитным значением, таким как% A ,% B или% C .

Или введите for /? в командной строке.

В основном используйте %%f вместо %f.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...