我需要一个批处理文件来启动给定文件夹中的所有文件(在这种情况下是c:\macros\day)。
我试过以下方法,但似乎没有任何效果。
for /f %i in ('C:macrosDay /b') DO command %i
这在我的命令行中工作:
for /F "usebackq" %%i in (`dir /b C:macrosDay`) DO %%i
和这个一样:
for %%i in (C:macrosDay*) do %%i
您使用了不正确的for
变体。简单地做(双关语)for %%i in (c:macrosDay*) do %%i
编辑:如果需要在所有文件上运行command
:for %%i in (c:macrosDay*) do command %%i
您应该使用dir /b
列出所有文件,这样它就变成了
for /f %i in ('dir /b c:macrosDay') do command %i
此外,请确保在批处理文件%%i而不是%i中生成变量,否则会出现"i此时意外"形式的错误。
通过批处理文件运行目录中的所有文件,每行上都有附加文本
上面张贴了一个备选方案-如果你愿意,请去掉后面的"/Z/U"。
这就是我如何在与批处理文件相同的目录中运行所有powershell文件
@ECHO OFF
SET PowerShellExe=%SYSTEMROOT%System32WindowsPowerShellv1.0powershell.exe
for %%i in (*.ps1) do (
%PowerShellExe% -NoProfile -ExecutionPolicy Bypass -Command %cd%%%i
)