2012-02-12 205 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  

) 
相關問題