【发布时间】:2012-02-12 16:47:09
【问题描述】:
我需要一个批处理文件来启动给定文件夹中的所有文件(在本例中为 c:\macros\day)。
我尝试了以下方法,但似乎没有任何作用。
for /f %i in ('C:\macros\Day /b') DO command %i
【问题讨论】:
标签: batch-file dos
我需要一个批处理文件来启动给定文件夹中的所有文件(在本例中为 c:\macros\day)。
我尝试了以下方法,但似乎没有任何作用。
for /f %i in ('C:\macros\Day /b') DO command %i
【问题讨论】:
标签: batch-file dos
这适用于我的命令行:
for /F "usebackq" %%i in (`dir /b C:\macros\Day\`) DO %%i
就像这样:
for %%i in (C:\macros\Day\*) do %%i
【讨论】:
for /F "usebackq" %i in...吗?
您使用了错误的for 变体。简单地做(双关语)for %%i in (c:\macros\Day\*) do %%i
编辑:
如果您需要对所有文件运行command:for %%i in (c:\macros\Day\*) do command %%i
【讨论】:
for %i in (c:\macros\Day\*) do COMMAND %i(需要指定对%i进行操作的命令)
你应该使用dir /b列出所有文件,所以它变成了
for /f %i in ('dir /b c:\macros\Day') do command %i
【讨论】:
此外,请确保在批处理文件中创建变量 %%i 而不是 %i,否则您会收到“我此时意外”形式的错误。
【讨论】:
Running all files in directory via batch file with appended text on each line
上面发布了另一种选择 - 如果您愿意,可以省略尾随的“/Z /U”。
【讨论】:
这就是我可以在与批处理文件相同的目录中运行所有 powershell 文件的方式
@ECHO OFF
SET PowerShellExe=%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\powershell.exe
for %%i in (*.ps1) do (
%PowerShellExe% -NoProfile -ExecutionPolicy Bypass -Command %cd%\%%i
)
【讨论】: