为什么此PowerShell脚本无法正确执行此外部命令? [英] Why does this PowerShell script fail to execute this external command properly?

查看:8
本文介绍了为什么此PowerShell脚本无法正确执行此外部命令?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

以下代码将输出我希望运行的命令字符串:

[string] $SourceRepo="C:inetpubwwwrootSpyda"
[string] $Repo="C:inetpubwwwrootBranchClone"
[string] $revstring="--rev `"default`" --rev `"case 1234`""

Write-Output "hg clone $SourceRepo $Repo $revstring"

这给了

hg clone C:inetpubwwwrootSpyda C:inetpubwwwrootBranchClone --rev "default" --rev "case 1234"

如果我从PowerShell提示符运行该命令,它可以工作;如果我尝试使用以下语法从脚本运行hg克隆命令,它将失败:

hg clone $SourceRepo $Repo $revstring

给定错误:

hg.exe : hg clone: option --rev default --rev case not recognized
At line:6 char:3
+ hg <<<<  clone $SourceRepo $Repo $revstring
    + CategoryInfo          : NotSpecified: (hg clone: optio... not recognized:String) [], RemoteE 
   xception
    + FullyQualifiedErrorId : NativeCommandError

推荐答案

尝试调用表达式

$SourceRepo="C:inetpubwwwrootSpyda"
$Repo="C:inetpubwwwrootBranchClone"
$revstring="--rev `"default`" --rev `"case 1234`""

$cmdString = "hg clone $SourceRepo $Repo $revstring"

Invoke-Expression $cmdString

这篇关于为什么此PowerShell脚本无法正确执行此外部命令?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆