我正在尝试为与Active Directory whenChanged
字段兼容的LDAP查询生成日期字符串。我正在使用CSVDE将AD数据拉入CSV并需要LDAP查询,该查询会将结果过滤到过去2天内更改的项目。我将以下FOR命令拼凑在一起,根据Stack Overflow上的一些示例生成比较字符串的第一部分:
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.
导致命令轰炸的原因是什么?感谢。
答案 0 :(得分:2)
我正在偷他的果汁......批处理文件中的FOR
迭代器变量需要有一个双百分号,%%
。所以,你的行看起来像这样
FOR /F "usebackq" %%i in (<snipped-powershell-command>) DO SET daysAgo=%%i