Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在批处理文件中使用PowerShell执行命令?_Powershell_Batch File_Active Directory - Fatal编程技术网

如何在批处理文件中使用PowerShell执行命令?

如何在批处理文件中使用PowerShell执行命令?,powershell,batch-file,active-directory,Powershell,Batch File,Active Directory,我正在尝试为与Active DirectorywhenChanged字段兼容的LDAP查询生成日期字符串。我正在使用CSVDE将广告数据拉入CSV,并需要一个LDAP查询,该查询将过滤结果,以查找在过去2天内更改的项目。我将以下FOR命令拼凑在一起,根据这里关于堆栈溢出的几个示例生成比较字符串的第一部分: FOR /F "usebackq" %i in (`PowerShell $date^= [DateTime]::Today.AddDays^(-2^)^; $date.ToString^('

我正在尝试为与Active Directory
whenChanged
字段兼容的LDAP查询生成日期字符串。我正在使用CSVDE将广告数据拉入CSV,并需要一个LDAP查询,该查询将过滤结果,以查找在过去2天内更改的项目。我将以下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.

是什么导致命令爆炸的?谢谢。

我在偷他的果汁<批处理文件中迭代器变量的code>需要有一个双百分号,
%%
。那么,你的线路应该是这样的

FOR /F "usebackq" %%i in (<snipped-powershell-command>) DO SET daysAgo=%%i
FOR/F“usebackq”%%i in()DO SET daysAgo=%%i

已解决。变量需要在批处理文件中加前缀w/
%%
。建议:如果您已解决此问题,请回答您自己的问题,并(在允许的情况下)接受该答案。(顺便说一句,你所有的问题都可以在PSH中解决:AD和CSV都包括在内,没有外部组件。)Power shell允许cmd命令,你知道吗?