转换DOS命令到Power Shell命令
我使用PowerShell 2.0正与Psake 1.4转换DOS命令到Power Shell命令
这里是正在运行,我想转换为PowerShell中的DOS命令。
"C:\Program Files\Borland\StarTeam 2005 R2\stcmd.exe" co -p "rubble.barney:[email protected]:4455/MySolution/WebApp" -is -fp "D:\FooBar\MySolution\Source"
注意,路径stcmd中有
注意到一个空间,有一个:巴尼之间: dinno
发现有区三名带引号的字符串。
这里是我的脚本性能,并指出
·$ APPNAME = “MySolution”
$ StarExe = “C:\ Program Files文件\ Borland的\的StarTeam 2005 R2 \ stcmd.exe”
$ StarProject =“废墟.barney:dinno @ HostName:4455/$ AppName/WebApp“
$ StarOutDir =”D:\ FooBar \ $ AppName \ Source“
$ StarCommand =”“”$ StarExe“”co -p“”$ StarProject“ “-is -nologo -q -fp”“$ StarOutDir”“”
任务默认-depends GetSource
任务初始化{
$ ErrorActionPreference “上$ AppName的工作”= '停止'
}
任务的getSource -depends初始化{
'获取SOURE从明星队'
正确使用invoke?它应该是&,或者exec {}
调用项$ StarCommand }
任何帮助将是真棒。
尝试:
& $starexe co -p $StarProject -is -nologo -q -fp $StarOutDir
我相信你正在使用PowerShell 2.0。版本1.0的PowerShell有方式quirkier本地命令*参数解析。
- 本机命令= EXE,COM,BAT文件等
-Oisin
试试这个:
& $StarExe co -p $StarProject -is -nologo -q -fp $StarOutDir
免责声明:我没有使用psake,但我不知道为什么你需要周围的变量,那么多双引号。如果在PowerShell脚本中执行上述命令,FWIW应该可以工作。
我试过 &$ StarExe co -p $ StarProject -is -nologo -q -fp $ StarOutDir 得到: 找不到驱动器。名称为“C”的驱动器不存在 – Razcer 2010-06-22 21:59:09
你有没有用真正简单的参数进行测试,如“&$ prog”,其中$ prog是,嗯,比如说“c:\ windows \ system32 \ cmd.exe “? – x0n 2010-06-23 20:25:11
这是一个与变量中的路径有关的引号问题,doh! – Razcer 2011-01-20 15:39:49