2011-03-02 50 views
2

不显示我有下面的代码片段文件名在cmd中

$svc_Files = gci | Where {$_.extension -eq ".svc"} 
write-host "Building WSDL ..." 
$cmd_svc = "`"C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\x64\SvcUtil.exe`"" 
Foreach ($svc_File in $svc_Files) 
{ 
    write-host "& $cmd_svc http://id.web/Services/$svc_File?wsdl" 
} 

的问题是,文件名不显示。但是,一旦我删除“?wsdl”,文件名将显示。

我怎样才能得到文件名以最终显示“?wsdl”?

回答

2

试试这个:

write-host "& $cmd_svc http://id.web/Services/$svc_File`?wsdl" 

你也可以这样做:

写 - 主机 “?& $ cmd_svc http://id.web/Services/ $($ svc_File)WSDL”

+2

注到@Valamas :反引用是Powershell的scape特性,就像反斜杠\是C#的景观特征。 – tiago2014 2011-03-02 02:26:28

+0

第一个选项不起作用,_是问题。 – JasonMArcher 2011-03-03 23:53:19

+0

下划线在变量名中很好... $ A_B =“Fred”; “$ A_B'你好” 返回 FredHello – 2011-03-04 15:45:18

3
write-host "& $cmd_svc http://id.web/Services/${svc_File}?wsdl"