我需要一个批处理文件来启动给定文件夹中的所有文件(在这种情况下,它是c:\ macros \ day)。
我尝试了以下内容,但它似乎没有做任何事情。
for /f %i in ('C:\macros\Day /b') DO command %i
答案 0 :(得分:8)
这可以从我的命令行开始:
for /F "usebackq" %%i in (`dir /b C:\macros\Day\`) DO %%i
就像这样:
for %%i in (C:\macros\Day\*) do %%i
答案 1 :(得分:5)
您使用了for
的错误变体。简单地做(双关语)for %%i in (c:\macros\Day\*) do %%i
编辑:
如果您需要在所有文件上运行command
:for %%i in (c:\macros\Day\*) do command %%i
答案 2 :(得分:2)
您应该使用dir /b
列出所有文件,因此它变为
for /f %i in ('dir /b c:\macros\Day') do command %i
答案 3 :(得分:0)
另外,请确保在批处理文件%% i中创建变量,而不是%i,否则您会在“我此时意外发生”的形式中收到错误。
答案 4 :(得分:0)
Running all files in directory via batch file with appended text on each line
如果您愿意,可以在上面张贴替代方案 - 留下尾随的“/ Z / U”。
答案 5 :(得分:0)
这就是我可以在与批处理文件相同的目录中运行所有powershell文件的方法
@ECHO OFF
SET PowerShellExe=%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\powershell.exe
for %%i in (*.ps1) do (
%PowerShellExe% -NoProfile -ExecutionPolicy Bypass -Command %cd%\%%i
)