English 中文(简体)
你如何使用命令行带参数启动存储在UNC共享中的程序?
原标题:
  • 时间:2008-11-19 15:57:59
  •  标签:

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

\serversharein_house_thingy.exe myusername mypassword

但是我似乎无法在CMD或PowerShell或通过快捷方式让它工作。

有人有想法吗?

最佳回答

为了设置快捷方式,将目标更改为:

"\serversharein_house_thingy.exe" myusername mypassword

除非你真的想要使用PowerShell来使其工作。

问题回答

你可以使用:

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

如果你想获取进程的退出代码或其他信息,$process对象将为你提供一个实时进程对象。

在批处理文件中使用%~dp0,以包括尾部\的当前(unc)路径。

在 PowerShell 脚本中,使用此代码获取当前(UNC)路径,不带尾随的

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

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

如果没有更好的解决方案,如果大家能够投票支持这个答案,那就可以了。





相关问题
热门标签