Командная строка Windows 7: Как выполнить пакетный скрипт из командной строки?

Я использую Windows 7, и моя проблема заключается в запуске этого файла с консоли (cmd.EXE-файл):

W:softwareprojectsmyprojectbuildmsvcbuild.bat

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

W:>cd software
W:software>cd projects
W:softwareprojects>cd myproject
W:softwareprojectsmyproject>cd build
W:softwareprojectsmyprojectbuild>cd msvc
W:softwareprojectsmyprojectbuildmsvc>build.bat

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

W:>softwareprojectsmyprojectbuildmsvcbuild.bat
W:>call softwareprojectsmyprojectbuildmsvcbuild.bat
W:>@call softwareprojectsmyprojectbuildmsvcbuild.bat
W:>"softwareprojectsmyprojectbuildmsvcbuild.bat"
W:>call "softwareprojectsmyprojectbuildmsvcbuild.bat"
W:>@call "softwareprojectsmyprojectbuildmsvcbuild.bat"

Я получаю следующее сообщение об ошибке:

The system cannot find the path specified.

Я уверен, что вам не нужно было переходить к папка, содержащая файл, чтобы запустить его, когда я использовал Windows XP (хотя я мог ошибаться, конечно), но это, по-видимому, относится к Windows 7. Или я что-то упускаю?

1 ответов


вы правы. Перед выполнением нет необходимости переходить к папке пакетных сценариев. Ошибка " система не может найти указанный путь.- скорее всего, это вызвано чем-то внутри вашего пакетного файла.

попробуйте добавить

cd W:\software\projects\myproject\build\msvc
w:

или в одной команде (как предложил Джеймс K, спасибо!)

cd /d W:\software\projects\myproject\build\msvc

поискал немного и нашел это общее решение:

cd /d %~dp0

в верхней части пакетного файла, чтобы установить рабочий каталог каталог скрипта, чтобы проверить, является ли это причиной.

Если вы выполняете свой файл из W:\ здесь выполняются команды (рабочий каталог). Скорее всего, ваш скрипт не может найти файл, который он использует в этом месте.