我正在尝试为与 Active Directory 兼容的 LDAP 查询生成日期字符串 whenChanged
field 。我正在使用 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.
是什么导致命令爆炸?谢谢。
最佳答案
我在偷他的果汁... FOR
批处理文件中的迭代器变量需要有双百分号,%%
.所以,你的线看起来像这样
FOR /F "usebackq" %%i in (<snipped-powershell-command>) DO SET daysAgo=%%i
关于powershell - 如何在批处理文件 FOR 命令中使用 PowerShell?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16410640/