"было неожиданно в это время." - PullRequest
35 голосов
/ 14 октября 2011

Я запускаю эту команду для командного файла:

for %I in (*.txt *.doc) do copy %I c:\test2

... и она продолжает возвращаться:

Я был неожиданным в это время.

В чем причина этой ошибки?

Ответы [ 4 ]

50 голосов
/ 14 октября 2011

Если вы работаете в пакетном / cmd-файле, вам нужно удвоить % маркеры:

for %%i in (*.txt *.doc) do copy %%i c:\test2

Одиночный вариант % работает только из командной строки.

4 голосов
/ 14 октября 2011

При запуске из пакетного файла переменные должны обозначаться двумя знаками процента, например %%I, только из командной строки, которую вы используете, один

3 голосов
/ 07 февраля 2013

Я столкнулся со случаем, когда я получал эту ошибку из файла с именем * .cmd. Ошибка возникла при попытке доступа к первому аргументу пакетной команды:

if %1 EQU ""

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

if "%1" EQU ""
1 голос
/ 08 ноября 2016

Не прямой ответ на вопрос, но если вы встретите это сообщение в какой-либо программе, пакетной команде и т. Д., То, скорее всего, оно связано с вашей переменной PATH, содержащей " символов.

Например, вРедактор Atom Я получал сообщение в окне настроек.

"\"GNU was unexpected at this time

Это было связано с тем, что другая программа вставила в мой PATH следующую запись

...;C:\"Program Files"\"GNU ARM Embedded;..."

Из-за этого, антибликоваясимвол читается как экранированный некоторыми программами, что вызывает проблемы, потому что тогда это не разделитель пути, а простой символ.

Для меня решение было удалить эти " из PATH, и все работало нормально.

...;C:\Program Files\GNU ARM Embedded;...

PS: У меня есть сомнения, может ли это повлиять на исходную программу (в данном случае встроенную в GNU ARM), которая, возможно, не поддерживает пробелы в путевых именах.Если кто-то с большей проницательностью сможет уточнить в комментариях, я обновлю свой пост.

Надеюсь, это поможет

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