4

我正在尝试为与 Active DirectorywhenChanged字段兼容的 LDAP 查询生成日期字符串。我正在使用 CSVDE 将 AD 数据提取到 CSV 中,并且需要一个 LDAP 查询来将结果过滤到过去 2 天内更改的那些项目。我根据 Stack Overflow 上的一些示例拼凑了以下 FOR 命令以生成比较字符串的第一部分:

FOR /F "usebackq" %i in (`PowerShell $date^= [DateTime]::Today.AddDays^(-2^)^; $date.ToString^('yyyyMMdd'^)`) DO SET daysAgo = %i

此 FOR 命令在命令提示符下运行良好,但在批处理脚本中会发生炸弹,并带有以下输出:

:Today.AddDays(-2); was unexpected at this time.

是什么导致命令炸弹?谢谢。

4

1 回答 1

2

我在偷他的汁......FOR批处理文件中的迭代器变量需要有一个双百分号,%%. 所以,你的线看起来像这样

FOR /F "usebackq" %%i in (<snipped-powershell-command>) DO SET daysAgo=%%i
于 2013-06-18T14:29:59.743 回答