0

テキスト ファイルから 0 を見つけるための単純なバッチ ファイルがあります。私が必要としたのは、ファイル名から 0 の整数を検出するのではなく、左の列から 0 の整数のみを見つけることです。たとえばABCDE01-1FGHIJ01-1テキスト ファイルの右の列で などです。0 が検出された場合、左側の列に 0 を含むファイル名/フォルダー パスと共に 0 が検出されたことを示すメッセージが表示されます (例: ファイル名: FGHIJ01/ フォルダー パス: D:\FOLDER A\ FGHIJ01.MOV)。

以下の私のバッチ ファイルを参照し、この要件を満たすためにこれを編集する方法をアドバイスしてください。私のテキストファイル:

5916 D:\FOLDER A\ ABCDE01.MOV/ 0 D:\FOLDER A\ FGHIJ01.MOV

私のバッチファイルスクリプト:

@echo off find "0" <"C:\Users\User\Desktop\outcome.txt" >nul && echo ERROR:FOUND ZERO SIZE IN THE FILE!!! & pause
4

3 に答える 3

0

次のコマンドは、0が行に単独で表示され、他の文字が表示されないと仮定して、必要なことを行います(最新の編集に示されているように):

findstr /B /E "0" test.txt > nul && echo Found zero

/B /E "0"、行頭と行末の両方にある 0 を検出します。

賢く見せたい場合は、これで同じことができます:

findstr /R "^0$" test.txt > nul && echo Found 0

...そして、一連のファイルを処理し、そのような 0 を含むファイルの名前のみを表示するには:

findstr /M /R "^0$" *.txt

0 だけが行にない場合 (ただし先頭にある場合)、少し異なる検索パターンを使用する必要があります。

findstr /R "^0\>" test.txt > nul && echo Found zero

これは、行頭の 0 に一致します (それ^が目的です) が、その直後にスペースまたはその他の非単語文字があります。

于 2013-09-09T17:47:03.783 に答える
0

これを少し試してみてくださいRegex

findstr "\<0.0000\>" "C:\Users\User\Desktop\outcome.txt" >nul && (
    echo ERROR:FOUND ZERO SIZE IN THE FILE!!! 
    pause
)

\<is the Regex for start of a word
\>is the Regex for end of a word
A Regex word contains a-z, A-Z, 0-9and _.

于 2013-09-07T08:22:30.910 に答える