Командная строка с диска C: как запустить исполняемый файл на другом диске? - PullRequest
1 голос
/ 23 октября 2019

У меня машина Windows с текущим пользователем в C:\Users\User.

У меня есть исполняемый файл на другом диске, скажем, в D:\Folder\MyProg.exe.

  1. Открытие командной строки, он начинается в каталоге C:\Users\User
  2. Я набираю команду: start D:\Folder\MyProg.exe или D:\Folder\MyProg.exe
  3. Exe не открывается , чтобы открыть, с всплывающим: MyProg has encountered an error

Чтобы запустить, запустите .exe из командной строки, мне нужно cd перейти в другой каталог и затем запустить exe.

  1. Открывая командную строку, она запускается в каталоге C:\Users\User
  2. Я набираю команду: cd /d D:\Folder && start MyProg.exe
  3. Exe успешно

Есть ли лучший способ из C: запустить исполняемый файл на другом диске?


Воспроизведение

Windows 10 Pro, v1809 (я не думаю, что версия действительно имеет значение)

Мой реальный пример использования - промышленная автоматизация, но можно наблюдать тот же результат с convert.exe ( cnet ссылка для скачивания )

Ответы [ 2 ]

1 голос
/ 24 октября 2019

Как прокомментировал @Mofi, я понял, что ответ, скорее всего, таков:

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

Как он указывал в следующемкомментарий, start предоставляет параметр /d, который позволяет указать каталог запуска. Таким образом, краткая команда будет:

start "" /d D:\Folder MyProg.exe

Примечание: "" для поля <Title>. .exe, который я открываю, - это приложение с графическим интерфейсом (не консольное приложение), поэтому в данном случае это не является необходимым, я просто включил случай, когда другие зрители находят это полезным в своем приложении.

1 голос
/ 23 октября 2019

У меня машина Windows с текущим пользователем в C: \ Users \ User.

У меня есть исполняемый файл на другом диске, скажем, на D:\Folder\MyProg.exe.

Открывая командную строку, она запускается в каталоге C: \ Users \ User. Я набираю команду: start D:\Folder\MyProg.exe Не удается открыть exe-файл.

Чтобы запустить .exe из командной строки, мне нужноПерейдите в другой каталог и запустите exe.

Возможно, нет. Попробуйте:

PATH D:\Folder;%Path%
"D:\Folder\MyProg.exe"
...