0

ディレクトリツリーでタイプごとに任意のファイルを取得できることを知っています

dir /s /b *.ext > list.txt

または名前によるサブディレクトリ

dir /s/b *directoryName* >list.txt

しかし、これを組み合わせて、タイプとサブディレクトリ名でファイルのリストを取得するにはどうすればよいですか?

 dir /s /b *directoryname\*.ext
>>The filename, directory name, or volume label syntax is incorrect.
4

4 に答える 4

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

は、マスク/a-dに一致するディレクトリ名 (ファイル名のみ) を抑制します。 正規表現がデフォルトであるため、上の はおそらく不必要です大文字と小文字を区別しませ ん .ext
/rfindstr
/i

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

\エスケープ以来\

于 2013-04-09T01:04:53.120 に答える
0

完全な再帰がfindstr必要な場合は、必要のないものを full から削り取るために使用できますdir /b /s

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

... は、 (またはを含む) を含む.ext任意のディレクトリ内のファイルと一致します。ディレクトリは、現在のディレクトリから複数のレベルの深さである可能性があります。directorynamedirectoryname0101 - directoryname

findstr検索正規表現では、after.*directoryname0 個以上の任意の文字を表します。グロブ構文では、*directoryname*.ext. 構文help findstrの詳細については、を参照してください。findstr

于 2013-04-08T20:07:39.927 に答える