Batch file 循环遍历子目录并调用(powershell)脚本

Batch file 循环遍历子目录并调用(powershell)脚本,batch-file,Batch File,我有一个包含多个子文件夹的文件夹。powershell脚本位于每个子文件夹中。powershell的名称在每个子文件夹('execute.ps1')中都是相同的。如何递归遍历所有子目录并调用“execute.ps1” 我在(*)do execute.ps1中为/r%%I尝试了 然而,这并没有起作用。我有一个错误: “命令execute.ps1拼写错误或找不到。” 解决方案: @回音 对于(*)中的/r/d%%f,执行pushd“%%f”并调用powershell.exe-executionpol

我有一个包含多个子文件夹的文件夹。powershell脚本位于每个子文件夹中。powershell的名称在每个子文件夹('execute.ps1')中都是相同的。如何递归遍历所有子目录并调用“execute.ps1”

我在(*)do execute.ps1中为/r%%I尝试了

然而,这并没有起作用。我有一个错误:

“命令execute.ps1拼写错误或找不到。”


解决方案:

@回音

对于(*)中的/r/d%%f,执行pushd“%%f”并调用powershell.exe-executionpolicy remotesigned-File execute.ps1&popd


暂停

您可以使用
FOR/R
命令递归搜索您的powershell脚本。我在(*)do execute.ps1中尝试了
FOR/R%%I,但这不起作用。我收到一个错误“Command execute.ps1拼写错误或找不到”。您需要使用
FOR
变量:
%%I
。我已经有一段时间没有使用powershell了,但我还认为您必须使用
powershell.exe myscript.ps1
来执行脚本。您还需要告诉for命令要搜索的文件。否则它将迭代所有文件。从主文件夹开始,子文件夹是否只有一个深度`c:\mainfolder\subfolder1`或者powershell脚本是否可以嵌套在2个或3个文件夹中?只有一个子文件夹