1

我将 $nextday 和 $currrentyear 传递给我在我的 powershell 脚本中执行的 .exe。似乎争论没有通过,为什么?

$nextday = (Get-Date).AddDays(-1).ToString("M/dd/yyyy")
$currentgetyear = (Get-Date).ToString("yyyy")

& "C:\tmt.exe" YEAR=  $currentgetyear DATE=  $nextday
4

2 回答 2

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
于 2013-02-27T20:53:41.583 回答
0

尝试

& "C:\tmt.exe" ("YEAR={0}" -f (get-date).Year) ("DATE={0:M/dd/yyyy}" -f (get-date).AddDays(-1))

账单

于 2013-02-27T20:54:15.707 回答