2010-11-25 135 views
1

總之,我想端口這個慶典表達到Windows批處理文件:Windows批處理文件匹配

echo {foo,bar,baz}/*.{agent,event,plan}

目前我使用echo foo/*.agent foo/*.event foo/*.plan bar/*.agent etc...但目錄的數量增長,並使用了一些新的擴展它修改這條線非常煩人。

回答

0

每行一個(不知道這是確定):

@echo off 
for %%A in (foo,bar,baz) do (
for %%B in (agent,event,plan) do echo %%A/*.%%B 
) 

對於所有在同一行,你可能需要一個黑客:

@echo off 
SETLOCAL ENABLEEXTENSIONS 
for %%A in (foo,bar,baz) do (
for %%B in (agent,event,plan) do (SET /P "dummy=%%A/*.%%B ") < NUL 
) 
echo. 

款待文件和文件夾列表(將只打印現有文件):

@echo off 
SETLOCAL ENABLEEXTENSIONS 
for %%A in (foo,bar,baz) do (
    for %%B in (agent,event,plan) do (
     for %%C in (%%A/*.%%B) do (SET /P "dummy=%%A/%%~nxC ") < NUL 
    ) 
) 
echo. 
+0

對不起,需要在一行上的所有參數。 – ext 2010-11-25 20:52:12