Visual Studio 2012多个命令在命令行参数中

4
在Visual Studio 2012中,可以在调试->启动选项中指定命令行参数。我正在开发一个PowerShell cmdlet,所以希望能够将多个命令解析为PowerShell。我的参数看起来像这样:
-noexit -command add-pssnapin Registerv2.0 -command New-Token -command www.google.com

问题是它将“-command”视为一个长字符串,即“-command“add-pssnapin Registerv2.0 -command New-Token -command www.google.com”,而不是3个单独的命令。有没有人知道如何更改这个问题: 编辑 我想要的结果是当我运行项目时:
1. 打开PowerShell 2. 注册我的snapin 3. 调用cmdlet new-token 4. 输入cmdlet参数

把它们放在引号中不起作用吗? - Carey Gregory
如果这些是位置参数,那么它应该可以工作。但是在 PowerShell 中,每个命令都需要在自己的行上。 - zidsal
或许这能帮到你:https://dev59.com/qm035IYBdhLWcg3wYO11 - user2140173
如果您正在尝试从Visual Studio传递参数,则可能会有所帮助。-> 1. 转到项目属性-> 2. 转到调试-> 3. 使用空格分隔命令。即 par1 = val1 par2 = val2 par3 = val3 - VRK
1个回答

1
如果你想先运行add-pssnapin Registerv2.0再运行New-Token,你应该将它们连在一起作为一个命令,像这样:
-command "add-pssnapin Registerv2.0; New-Token"

如果New-Token需要参数,您应该直接在命令行上传递它,而不是尝试模拟用户输入。
例如,New-Item需要路径列表和类型作为输入,这两者也可以作为参数在命令行上提供。就像这样:
New-Item foo -type directory

因此,如何将值www.google.com传递给New-Token取决于参数的名称。但可能看起来像:

-command "add-pssnapin Registerv2.0; New-Token -tokenName www.google.com"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接