17

バッチ ファイル内の 2 つのファイルを比較し、一致するかどうかに基づいてアクションを実行するにはどうすればよいですか? 私は次のようなことを試しました:

if file1.txt NEQ file2.txt goto label

ただし、ファイルではなく実際の文字列「file1.txt」を比較します。COMP コマンドについて読んだことがありますが、if ステートメントに入れると機能しないようです。誰もこれを行う方法を知っていますか? 申し訳ありませんが、バッチ ファイルを使用することはめったになく、経験もほとんどありません。

前もって感謝します。

4

3 に答える 3

33

「FC」コマンドを使用して、エラーレベルを確認できると思います。ここにいくつかのコードがあります:

@echo off
:main
fc c:\filename r:\filemame > nul
if errorlevel 1 goto error

:next
echo insert next CD
pause
goto main

:error
echo failed check

( http://www.computing.net/answers/dos/batch-file-command/15753.htmlから引用)

于 2009-03-22T21:35:40.377 に答える
4

COMP プログラムは実際にはかなり使いやすいようです。Yahooの回答でこの質問を参照してください。

comp /?実行すると、プログラムのヘルプ テキストが出力されることに注意してください(/?ネイティブ Windows コマンド ライン プログラムで引数を指定する場合と同様)。これにより、上記のリンクされた質問の回答に表示されるのと同じテキストが出力されます。

Yahoo Answer のコンテンツ:

C:\>comp /? 
Compares the contents of two files or sets of files. 

COMP [data1] [data2] [/D] [/A] [/L] [/N=number] [/C] [/OFF[LINE]] 

data1 Specifies location and name(s) of first file(s) to compare. 
data2 Specifies location and name(s) of second files to compare. 
/D Displays differences in decimal format. 
/A Displays differences in ASCII characters. 
/L Displays line numbers for differences. 
/N=number Compares only the first specified number of lines in each file. 
/C Disregards case of ASCII letters when comparing files. 
/OFF[LINE] Do not skip files with offline attribute set. 

To compare sets of files, use wildcards in data1 and data2 parameters.
于 2009-03-22T21:32:39.510 に答える