«недостаточно места для обработки этой команды» после использования команды запуска в командном файле с windows 7 - PullRequest
10 голосов
/ 14 января 2012

Я создаю командный файл, который должен открыть второй пакетный скрипт в отдельном окне cmd. Я могу успешно использовать весь свой код, если я использую команду «call» вместо «start», но это не запускает скрипт в своем собственном окне. В прошлом я неоднократно получал эту ошибку, и она всегда была связана с командой запуска. Я изменяю, как я делаю процесс, и все работает хорошо. Почему команда запуска вызывает эту ошибку и как я могу ее исправить? Ниже приведен пример моего кода.

start "" /w "k:\Bundle Support files\record serial.cmd"

Второй пакетный файл открывается и завершает все задачи, кроме последней, которая

goto :exit

:exit

Я несколько раз менял последнюю команду в файле, и она всегда проходит через весь пакет, но последняя команда, завершившая этот пакет, завершается с ошибкой «недостаточно места для обработки этой команды». Это происходит на нескольких машинах (различное оборудование) и нескольких ОС. Я попытался исправить IRPStackSize без удачи. Любые предложения о том, почему я получаю эту ошибку?

Спасибо, Kevin

Ответы [ 3 ]

17 голосов
/ 21 января 2013

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

Итак, вместо

start "" /w "k:\Bundle Support files\record serial.cmd"

попробовать

start "Placeholder Name" /w "k:\Bundle Support files\record serial.cmd"

Я не могу проверить, сработает ли это в вашем случае (и я сомневаюсь, что это имеет значение, так как вы давно ушли), но, надеюсь, это поможет кому-то испытать подобные ошибки.

0 голосов
/ 08 ноября 2013

Вот что делает команда START при запуске cmd.Если вы запустите START cmd, вы не ожидаете немедленного выхода CMD - он останется готовым к использованию.Таким образом, вы либо ВЫЗЫВАЕТЕ cmd-файл, и он будет завершен, либо вы запускаете cmd, и он не будет заканчиваться, - но вы можете завершить его, используя команду EXIT.SEIPIA также правильно ответила на проблему переполнения стека - вместо использования start "" filename.cmd, поместите что-нибудь между кавычками, чтобы действовать как заголовок - это предотвратит ошибку переполнения стека.

0 голосов
/ 14 января 2012

Заменить goto :exit на goto :EOF.Не определяйте метку EOF (она предопределена).

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