Что не так с моим пакетным файлом Windows (.bat)? - PullRequest
0 голосов
/ 20 ноября 2008

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

mmd dll1.dll -mf -aW
mmd dll2.dll -mf -aW
mmd dll3.dll -mf -aW

Если я скопирую и вставлю связку cmds в командное окно, они все будут выполнены правильно. Однако, если я попытаюсь перетащить командный файл непосредственно в командное окно и выполнить его, первая команда запускается и заканчивается неудачным выполнением. Почему?

Окно команд, в котором я запускаю команды, должно установить множество переменных среды, прежде чем команды смогут успешно выполняться. Когда я перетаскиваю командный файл (с абсолютным путем), создается впечатление, что я никогда не устанавливал эти переменные. Разве команды из командного файла не выполняются в одном контексте с окном команд хостинга? Как мне это сделать тогда?

Ответы [ 5 ]

1 голос
/ 20 ноября 2008

Вы пытаетесь добавить «вызов» перед командами в «.bat»?

Добавляя «call» перед строкой cmd, вы гарантируете, что папа-процесс продолжает работать после завершения дочернего процесса.

1 голос
/ 20 ноября 2008

Возможно, в ваших командах есть специальные символы, которые влияют на пакетные файлы, такие как%. Вам нужно будет убежать / удалить их.

В противном случае, возможно, это связано с тем, что программа, с которой вы работаете, либо портит терминал, либо сильно зависит от его среды. У вас есть какая-либо информация об этом? Попробуйте запустить только первую строку в командном файле.

1 голос
/ 20 ноября 2008

Выполняет перетаскиваемый файл с путем относительно файла .bat (а не там, где на самом деле находятся эти библиотеки)?

0 голосов
/ 20 ноября 2008

Правильно ли установлен ваш PATH? Вы находитесь в правильном каталоге, когда вы выполняете пакет? Вы проверили наличие невидимых, недопустимых символов в командном файле?

0 голосов
/ 20 ноября 2008

Вы помещаете кавычки вокруг имен файлов, которые вы называете? И имена файлов в разных строках? (Если нет, они должны быть)

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