2013-04-08 48 views

回答

0

HELP FOR讀取和在嘗試這在命令行

爲/ d%A(目錄名*)做@dir/S/B%A * .EXT

for /R /D %a in (dirname*) do @dir /s /b %a\*.ext 1>>list.txt 2>nul 
+0

這個解決方案是不遞歸 – 2013-04-09 17:32:57

+0

你是對的,編輯包含/ R使遞歸,現在它是。 – 2013-04-09 17:53:03

0

我可能理解,但不能你只是做:

dir /s /b "SubfolderName\*.ext"

+0

此解決方案不是遞歸的 – 2013-04-09 17:31:47

0

如果您想要完整的遞歸,您可以使用findstr從完整的dir /b /s中減去不需要的東西。

dir /s /b | findstr /i "directoryname.*\.ext$" >list.txt 

...將在含有directoryname任何目錄(包括directoryname0101 - directoryname),其中該目錄可以是從當前目錄中有多個級別深度匹配.ext文件。

findstr搜索正則表達式中,在directoryname之後的.*表示任意字符爲0或更多。在glob語法中,它就像*directoryname*.ext。有關findstr語法的更多信息,請參見help findstr

0
dir /s /b /a-d *.ext|findstr /i /r ".*\\.*dirname.*\\.*" 

/a-d抑制數據夾匹配.ext掩模 - 只有文件名。
findstr/r可能是多餘的,因爲正則表達式是默認
/i力的情況下,insentitivity
的字符串到匹配

[any number of any characters]\[any number of any characters][directoryname][any number of any characters]\[any number of any characters] 

因爲\逃脫\

相關問題