我正在将$ next和$ currrentyear传递给我在我的powershell脚本中执行的.exe。似乎论证没有通过,为什么?
$nextday = (Get-Date).AddDays(-1).ToString("M/dd/yyyy")
$currentgetyear = (Get-Date).ToString("yyyy")
& "C:\tmt.exe" YEAR= $currentgetyear DATE= $nextday
答案 0 :(得分:4)
为什么在单词之间使用空格?看看它是如何被软件解析的:
[21:50:46] > & echoargs YEAR= $currentgetyear DATE= $nextday
Arg 0 is <YEAR=>
Arg 1 is <2013>
Arg 2 is <DATE=>
Arg 3 is <2.26.2013>
然而,这解析了我猜它应该如何。
[21:50:58] > & echoargs YEAR=$currentgetyear DATE=$nextday
Arg 0 is <YEAR=2013>
Arg 1 is <DATE=2.26.2013>
所以我的解决方案:删除空格,如下所示:
& "C:\tmt.exe" YEAR=$currentgetyear DATE=$nextday
答案 1 :(得分:0)
尝试
& "C:\tmt.exe" ("YEAR={0}" -f (get-date).Year) ("DATE={0:M/dd/yyyy}" -f (get-date).AddDays(-1))
比尔