如何从命令行使用参数启动存储在UNC共享中的程序?

时间:2008-11-19 15:58:00

标签: windows command-line powershell shortcuts

我们使用的是内部程序,它存储在UNC共享中,以便更新透明。我想提供一些命令行参数,如:

\\server\share\in_house_thingy.exe myusername mypassword

但我似乎无法在CMD或PowerShell中或通过快捷方式使用它。

有人有任何想法吗?

4 个答案:

答案 0 :(得分:7)

您可以使用:

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

如果您想从该流程获取退出代码或其他信息,$ process对象将为您提供实时流程对象。

答案 1 :(得分:3)

对于快捷方式,请将目标更改为:

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

除非你真的想要使用powershell来完成这项工作。

答案 2 :(得分:1)

在批处理文件中使用%~dp0作为当前(unc)路径,包括尾随\

PowerShell脚本中的

将此用于当前(unc)路径而不尾随\

$0 = $myInvocation.MyCommand.Definition
$dp0 = [System.IO.Path]::GetDirectoryName($0)

答案 3 :(得分:0)

我刚注意到有一个.CMD文件将文件从共享复制到临时目录并在本地运行。

如果没有更好的解决方案,你们都可以投票给这个答案,那就行了。