Как запустить программу, хранящуюся на общем ресурсе UNC, из командной строки с параметрами? - PullRequest
4 голосов
/ 19 ноября 2008

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

\\server\share\in_house_thingy.exe myusername mypassword

Но я не могу заставить его работать ни в CMD, ни в PowerShell, ни через ярлык.

У кого-нибудь есть идеи?

Ответы [ 4 ]

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

Вы можете использовать:

$app = '\\server\share\in_house_thingy.exe'
$arguments = 'myusername mypassword'
$process = [System.Diagnostics.Process]::Start($app, $arguments)

Объект $ process даст вам живой объект процесса, если вы хотите получить код выхода или другую информацию из этого процесса.

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

Для ярлыка измените цель так:

"\\server\share\in_house_thingy.exe" myusername mypassword

если вы действительно не хотите использовать powershell, чтобы заставить эту работу.

1 голос
/ 06 мая 2009

используйте %~dp0 в пакетном файле для текущего (unc) пути, включая завершающий \

в скрипте powershell используйте это для текущего (unc) пути без трейлинга \

$0 = $myInvocation.MyCommand.Definition
$dp0 = [System.IO.Path]::GetDirectoryName($0)
0 голосов
/ 19 ноября 2008

Я только что заметил, что есть файл .CMD, который копирует файл из общего ресурса во временный каталог и запускает его локально.

Если бы вы могли просто проголосовать за этот ответ, если нет лучшего решения, это сработает.

...