2012年1月4日水曜日

[コマンドプロンプト] FC


■構文
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]
[ドライブ1:][パス1]ファイル名1 [ドライブ2:][パス2]ファイル名2

FC /B [ドライブ1:][パス1]ファイル名1 [ドライブ2:][パス2]ファイル名2


■説明
2 つのファイルまたはファイル セットを比較し、相違点を表示します。
最初の構文は、テキストモードでの比較で
2番目の構文は、バイナリモードでの構文となります。
ただし、バイナリモードでの比較はCOMPコマンドを使った方がオプション指定できて便利よいです。
/A相違する各部分の 1 行目と最後の行だけを表示します。
/Bバイナリの比較を実行します。
/C英字の大文字と小文字を区別しません。
/Lファイルを ASCII テキストとして比較します。
/LBn連続する最大不一致行を指定行数に設定します。
/NASCII の比較で行番号を表示します。
/OFF[LINE]オフライン属性が設定されたファイルをスキップしません。
/Tタブをスペースに変換しません。
/UUnicode テキスト ファイルとしてファイルを比較します。
/W連続した空白 (タブとスペース) を 1 つのスペースに圧縮して比較します。
/nnnn不一致発見後に確認する、一致すべき連続行数を指定します。
[ドライブ1:][パス1]ファイル名1比較する最初のファイルまたはファイル セットを指定します。
[ドライブ2:][パス2]ファイル名2比較する 2 番目のファイルまたはファイル セットを指定します。

■サンプルコード
・テキストファイルを比較してみる(同じ内容のファイルを比較してみる)
C:\test>fc test1.txt test2.txt
ファイル test1.txt と TEST2.TXT を比較しています
FC: 相違点は検出されませんでした



・テキストファイルを比較してみる(違う内容のファイルを比較してみる)
C:\test>fc test1.txt test3.txt
ファイル test1.txt と TEST3.TXT を比較しています
***** test1.txt
a
b
c
d
e
***** TEST3.TXT
a
bbb
ccc
ddd
e
*****

同じ行(1行目)
異なる行(2-4行目)
同じ行(5行)
という構成で出力される。
最初or最後or全ての行が異なる場合、状況に応じて同じ行の出力が変わります。


C:\test>fc test1.txt test3.txt
ファイル test1.txt と TEST3.TXT を比較しています
***** test1.txt
a
b
c
d
e
***** TEST3.TXT
aaa
bbb
ccc
ddd
e
*****

異なる行(1-4行目)
同じ行(5行目)


・全ての行が異なる場合の出力結果
C:\test>C:\test>fc test1.txt test3.txt
ファイル test1.txt と TEST3.TXT を比較しています
***** test1.txt
a
b
c
d
e
***** TEST3.TXT
aaa
bbb
ccc
ddd
eee
*****

異なる行(1-5行目)


・複数箇所が異なる場合の出力結果
C:\test>C:\test>fc test1.txt test3.txt
ファイル test1.txt と TEST3.TXT を比較しています
***** test1.txt
a
b
***** TEST3.TXT
aa
b
*****

***** test1.txt
d
e
***** TEST3.TXT
d
ee
*****



・異なる行が該当ファイル内のどこかわかりづらいので行番号をつける
C:\test>fc test1.txt test3.txt /n
ファイル test1.txt と TEST3.TXT を比較しています
***** test1.txt
    1:  a
    2:  b
***** TEST3.TXT
    1:  aa
    2:  b
*****

***** test1.txt
    4:  d
    5:  e
***** TEST3.TXT
    4:  d
    5:  ee
*****



・画像を比較する(同じファイルの場合)
C:\test>fc test1.jpg test2.jpg /B
ファイル test1.jpg と TEST2.JPG を比較しています
FC: 相違点は検出されませんでした

jpgは、バイナリモードの既定に入っていないので自分でバイナリスイッチをつける。


・画像を比較する(異なるファイルの場合)
C:\test>C:\test>fc test1.jpg test3.jpg /B
ファイル test1.jpg と TEST3.JPG を比較しています
0000000C: 02 01
0000000D: 00 01
0000000F: 64 60
00000011: 64 60
00000015: EC E1
00000017: 11 16
00000018: 44 45
00000019: 75 78
0000001A: 63 69
0000001B: 6B 66
0000001C: 79 00
0000001E: 01 49
0000001F: 00 49
(大量にデータが出力されるので省略します。)
00000EC9: BB 6F
00000ECA: FA CE
00000ECB: 49 88
00000ECC: 4A ED
00000ECD: 4B 8A
00000ECE: 85 CA
00000ECF: 01 18
00000ED0: 29 A8
00000ED1: 20 E3
00000ED2: 7B 9C
00000ED3: 9D D0
00000ED4: DD 07
00000ED5: C8 FF
00000ED6: 34 D9
FC: test1.jpg は TEST3.JPG より長いファイルです


上記のように大量に出力されます。


・画像を比較し出力する(異なるファイルの場合)
C:\test>fc test1.jpg test3.jpg /B >C:\Output.txt


0 件のコメント: