2012-02-12 206 views

回答

6

此工程从我的命令行:

for /F "usebackq" %%i in (`dir /b C:\macros\Day\`) DO %%i 

为做到这一点:

for %%i in (C:\macros\Day\*) do %%i 
+0

不应该这是'for/F“usebackq”%i in ...'? – wmz 2012-02-12 17:18:19

+0

是的;更新。谢谢你的收获! – 2012-02-12 17:21:35

1

您应该使用dir /b列出所有文件,因此它成为

for /f %i in ('dir /b c:\macros\Day') do command %i 
+1

采用双%,如果你把它放在一个批处理文件 – ixe013 2012-02-12 16:56:34

5

您使用的for不正确的变种。根本就(双关语意)for %%i in (c:\macros\Day\*) do %%i

编辑: 如果您需要运行在所有文件commandfor %%i in (c:\macros\Day\*) do command %%i

+0

感谢您的答复。 但是,给我: \宏\天\ *)在这个时候是意外的。 – sifuhall 2012-02-12 17:00:47

+1

如果从批处理文件运行,应该为'%i在(c:\ macros \ Day \ *)中执行COMMAND%i'(您需要指定在%i上运行的命令) – 2012-02-12 17:06:34

+1

,则需要替换%无论用%%什么(所以%我变成了%%我等等)。你已经给你的例子单%,所以我也做了。 – wmz 2012-02-12 17:07:38

0

此外,请确保您在批处理文件%% i而不是%i中创建变量,否则您会得到一个错误的形式“我在这个时候是意外的。”离开关尾随 “/ Z/U”,如果你想 -

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  

) 
相关问题