Как запустить программу, хранящуюся на общем ресурсе UNC, из командной строки с параметрами?
-
08-07-2019 - |
Вопрос
Мы используем внутреннюю программу, которая хранится на общем ресурсе UNC, поэтому обновления прозрачны. Я хотел бы предоставить некоторые параметры командной строки, например, так:
\\server\share\in_house_thingy.exe myusername mypassword
Но я не могу заставить его работать ни в CMD, ни в PowerShell, ни через ярлык.
У кого-нибудь есть идеи?
Решение
Для ярлыка измените цель так:
"\\server\share\in_house_thingy.exe" myusername mypassword
если вы действительно не хотите использовать PowerShell, чтобы сделать эту работу.
Другие советы
Вы можете использовать:
$app = '\\server\share\in_house_thingy.exe'
$arguments = 'myusername mypassword'
$process = [System.Diagnostics.Process]::Start($app, $arguments)
Объект $ process даст вам живой объект процесса, если вы хотите получить код выхода или другую информацию из этого процесса.
используйте % ~ dp0
в командном файле для текущего (unc) пути, включая завершающий \
в скрипте powershell используйте это для текущего (unc) пути без завершающего \
<*> = $myInvocation.MyCommand.Definition
$dp0 = [System.IO.Path]::GetDirectoryName(<*>)
Я только что заметил, что есть файл .CMD, который копирует файл из общего ресурса во временный каталог и запускает его локально.
Если бы вы могли просто проголосовать за этот ответ, если нет лучшего решения, это сработает.