0

次のコマンドを使用してバッチで正規表現を使用しました。

Dir "C:\Test\Res345_45664_1335" /s /b /a:-d | findstr /R "[(\d+)_(\d+)_(\d+)]" > filelist.txt

「C:\Test\Res345_45664_1335」ディレクトリには、次のファイルが含まれています。

Res345_45664_1335.txt
Output.txt
list.txt

次の形式のファイルが必要です ただし、「C:\Test\Res345_45664_1335」ディレクトリに存在するすべてのファイルを表示する正規表現を使用した上記の dir コマンド。「C:\Test\Res345_45664_1335」ディレクトリには同じフォーマット「Res345_45664_1335」が含まれているためです。ただし、ファイルのみ(フルパス付き)が必要です。

ありがとう。

4

4 に答える 4

3

\d() および+ は の有効なメタ文字ではありませんfindstrfindstr /? より高度なヘルプを参照してください。で置き換える必要があり[0-9][0-9]*ます。

Dir "C:\Test\Res345_45664_1335" /s /b /a:-d | findstr /ER "[0-9][0-9]*_[0-9][0-9]*_[0-9][0-9]*.txt" > filelist.txt
于 2013-07-08T05:35:31.567 に答える
1

ファイルに拡張子はありますか?

Dir "c:\test\Res345_45664_1335" /s /b /a:-d | findstr /R "[0-9]*_[0-9]*_[0-9]*\."
于 2013-07-08T08:11:34.407 に答える
0

試す

Dir /s /b /a:-d *_*_*

「フォーマット」の意味がよくわからない


ああ - string_string_string 形式のファイル名...

FOR /f "delims=" %%i IN ('dir /s /b /a-d *_*_*') DO ECHO "%%~ni"|FINDSTR /r "..*_..*_..*" >nul&IF NOT ERRORLEVEL 1 ECHO %%i

(これはバッチ ラインとして -プロンプトから実行するように縮小%%します)%

于 2013-07-08T04:56:24.823 に答える