2つのファイルで間違い探し|比較の方法|batファイルのエラーの例|
今回は、Windowsの場合(PCよく分かっていない人)のお話ですが、
「内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
・・とかいうエラーが分からなくて長い時間かかって調べました。
目的は、
2つのテキストファイルを比較して、間違った部分を見付けたかった時に
一瞬で分かれば良いのに・・と思って調べました(よく分かっていない人間によって)。
目次1: 最初に、準備すること 2: パスの通し方 3: 実際に2つのファイルを比較出来ました!! 4: file_compare.bat %1 %2 /nについて・fc %1 %2 /n 5: ファイルを比べたい経緯・参考・終わり |
1: 最初に、準備すること
先ず、必要なのは「メモ帳」
※ 今回は、windowsの作業です。
- 「fc file1.txt file2.txt /n」とだけ入力し、ファイル名「file_compare.bat」で、保存(文字コードをANSIにする。拡張子「.txt」は削除して「.bat」にする)。
- 「fc %1 %2 /n」とだけ、入力して、ファイル名「file_compara.bat」と、文字コードをANSIで保存。
・・という、2つのメモ帳によって作成したファイル。
更に、比較用のテキストのファイルを2つ、2つは殆ど同じで普通のテキスト(txt)、
1部分だけが違っているものが分かりやすいです。
- file1.txt・・中身は好きな文のファイル
- file2.txt・・上記とほぼ同じ、1文字だけは違うテキストファイル
そして、デスクトップに
- 「bat-test(例なので名前はお好みで。分かれば何でも可。)」というフォルダ
そのデスクトップ上のフォルダ
「bat-test」の中に、上記のメモ帳で作ったファイル、4つを全て入れます。
お疲れ様です。
これで、半分くらいの作業は出来ました!
2: パスの通し方
こちら、大事なことだと思いますが、自分は余りよくわかりません。
batファイル・・ブレースフォルダによるデータ内容の文章中への動的な埋め込み?だそうです。
(多分、合っていると思います)
デスクトップへのパスの通し方
%HOMEDRIVE%%HOMEPATH%\Desktop echo\ pause exit
と、あったのですが・・これでは何だか難しくて分からないので、
実際にユーザー名などを入力して実行してみました。
コマンドプロンプトを起動(黒い画面の小さなウィンドウ)して、
↓
@echo off |
↓
cmdが起動。
↓
「続行するには何かキーを押してください . . .」と。
↓
分かり難いので更に
↓
@echo off を消してみると、以下の様に表示され、
C:\Users\username\Desktop>pause 続行するには何かキーを押してください . . . |
↓
何とか、パスは通っていたみたいです。
(Desktop内で「続行するには」とあるので)
enterを押すとウィンドウは消えましたが。
一応、次の作業は出来たので、通りましたという事で終わります。
「@echo off」と入力すると、無駄な説明は消してくれるらしいので、
その実験も兼ねてです。
3: 実際に2つのファイルを比較出来ました!!
パスが通った確認ができたので、以下の様にします。
(ユーザー名は、usernameです。ご自分のユーザー名にして下さい。
ユーザー名がわからない場合、Microsoftは、
outlookのメールアドレスの左側で良いかと思います。殆どの場合は。。)
あと、「>」は、分かり難いので「>」と、大きくし、
入力する文字は「」で囲いました。以下が手順です。
比較の方法
キーボード操作:windowsキー(四角い4枚の窓マーク)+Rキー同時押し
↓
「cmd」と入力。
↓
コマンドプロンプトを起動(黒い画面の小さなウィンドウ)
↓
C:\Users\username> ・・と、あるところで、
↓
「cd Desktop\bat-test」 ・・と、入力、enter
↓
C:\Users\username\Desktop\bat-test> ・・とデスクトップのbat-testフォルダへ移動した状態になります。
↓
C:\Users\username\Desktop\bat-test>file_compare.bat %1 %2 /n ・・と入力、enter
↓
すると、自動で以下のようになります。
↓
C:\Users\\Desktop\bat-test>fc file1.txt file2.txt /n
↓
ファイル file1.txt と FILE2.TXT を比較しています ***** file1.txt 17: RewriteCond %{QUERY_STRING} p=1535 18: RewriteCond %{HTTPS} on 19: RewriteRule .* https://username.blogspot.com/2023/06/tumblr.html?[R=301] ***** FILE2.TXT 17: RewriteCond %{QUERY_STRING} p=1535 18: RewriteCond %{HTTPS} 19: RewriteRule .* https://username.blogspot.com/2023/06/tumblr.html?[R=301] ***** |
上記の18行目が違う・・という結果です。
この場合、「on」という文字があるかないかの違いです。
お疲れさまでした。
4: file_compare.bat %1 %2 /nについて・fc %1 %2 /n
勘違いしていた話です・・。
fc %1 %2 /n |
を保存して名前「file_compara.bat」というファイルを
デスクトップに作る・・という説明があって、
最初はその通りに作ったのですが、エラーの時に
「あれ?「compare」じゃなかったっけ?」おかしいなと思い、
ファイル名を確認するとほかの部分は全てcompareだったので、
打ち間違いだったのかな?と、
comparaではなく、compareにしてしまいました。
しかし、そうではなくて・・
- 「file_compare.bat」・・「fc file1.txt file2.txt /n」
- 「file_compara.bat」・・「fc %1 %2 /n」文字コードをANSIで保存・・ブレースフォルダという別物
と、2つとも必要だったのです。
上記、未だに正直なところ・・、意味とか全く分からないのですが
・・念のため、覚書で残しています。
5: ファイルを比べたい経緯・参考・終わり
元々は、文字数をカウントするために調べていたのですが、
コマンドを使う方法を見ていたら
テキストファイルを2つ、比べて間違った部分を探せる
・・という機能が気になり。
気になった理由は、
自分は、少しはタグを使いつつも、あんまり分かっていないので
何か不具合が出ると、どこが悪いのか・・と探すのが大変なのと、
(最近になり、ctrl+Fなどで、本文検索をすれば良いと分かりましたが。)
コピペを多用するので、コピーから失敗している可能性も高いのとで、
2つのファイルを比べられるとは便利だなと思いました。
他、wordpressやら編集画面では自動保存されたものとか時々出てきますが、
あれも「どっちが良いんだっけ?」と分からなくなったり
どこが違うのか直ぐに比較出来るのも嬉しい。
記事をザーッとスクロールすると難しい記号の羅列もなく
何やら簡単そう(失礼)に見えたので、
やってみたくなりましたが・・。
いきなりエラー。
動かなかった話
内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
この場合、どうするのかと調べるとLinuxと同じで・・
コマンドなどが認識されていない・・どこかでDL、インストール?かと思いましたが、
そこはwindowsなので装備済でした。。
c:\users\○○>_
となってる所で、
c:\users\○○>path
としてみると、現在pathが通ってるフォルダが、「;」で区切って、表示されます。
上記、やってみると、ダ~っとパソコンのフォルダ名が並んでいましたが。
これは、意外に時間かかるかも・・。(5時間かかりました。)
実際に行った方法を事例として残しているので、
同じような間違い・勘違いをした場合は参考にして頂けます。
ここまで読んでいただいて、ありがとうございました。
いかがでしたでしょうか。
何か少しでも参考になれば幸いです。
よろしければ、他の記事も気が向いた方は読んでやってくださいませ。
よろしくお願いいたします・・。
参考サイト:
バッチファイル自身のパスを取得する方法 | Correct-Log —コレログ—
https://correct-log.com › bat_get_cd
バッチファイルでデスクトップを呼び出すには
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1447443134
「Document Star 契約書管理システム 」 - ダウンロード - 無料 ...https://www.soft222.com › document-star-契約書管理システム
batファイルの動作について
https://answers.microsoft.com/ja-jp/windows/forum/all/bat%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE/13b197d3-0ffe-4a84-961f-c54aca617c5e
batファイルのカレントディレクトリの取得方法
https://qiita.com/shin1rok/items/efb5052ef5fb8138c26d
バッチファイル基礎文法リファレンス
https://qiita.com/kshibamo/items/9368b0b2a4a2f40b61f1
バッチファイルの基本的な書式と考え方
https://qiita.com/go1101/items/a2df957120b709b94273
.bat初心者・未経験者に贈るコマンド集
https://qiita.com/plcherrim/items/4432263ef34418175fa9
他の参考サイトはリンク切れのため削除しています。
コメント
コメントを投稿
読んでくださって、ありがとうございます。お気軽にコメントして頂けると嬉しいです。返事は90%くらいお返ししますが、めちゃくちゃ遅い場合があります。気長にお待ちください。