※ ChatGPTを利用し、要約された質問です(原文:バッチファイルについて)
バッチファイルの勉強で分からない箇所について
このQ&Aのポイント
バッチファイルの勉強中に、いくつかの箇所が理解できません。具体的には、copyコマンドの後に出てくる"|find /v"コマンドや、"copy con"コマンドの後に出てくる"|find /v"コマンドの意味が分かりません。また、バッチを実行してもファイルが生成されない問題も発生しています。
質問文章では、バッチファイルの学習中に理解できなかった箇所について述べています。特に、copyコマンドの後に出てくる"|find /v"コマンドや、"copy con"コマンドの後に出てくる"|find /v"コマンドの目的がわからない状況です。また、バッチを実行してもファイルが生成されない問題も抱えています。
バッチファイルの勉強中に、copyコマンドの後に現れる"|find /v"コマンドや、"copy con"コマンドの後に出てくる"|find /v"コマンドに関して、理解できない箇所があります。また、バッチを実行してもファイルが生成されない問題もあります。状況をより具体的に説明し、解決策を教えていただきたいです。
バッチファイルについて
バッチファイルの勉強をしておりますが、以下のバッチで
分からない箇所があります。
@echo off
copy C:\bin\set.txt set.txt | find /v "コピー"
echo ユーザー名を入力してください
echo 入力後、Ctrlキーを押しながらZキーを押した後、Enterキー
copy con inp.txt | find /v "コピー"
copy set.txt+inp.txt setinp.bat | find "○○"
call setinp.bat
echo ユーザー名は%INP%と入力されました!
del setinp.bat set.txt inp.txt
<<不明箇所>>
まず、C:\bin\set.txt』は set INP= とだけ書いたファイルです。
copy C:\bin\set.txt set.txt | find /v "コピー"
ですが、|find /v"コピー"はなんのためにやっているのでしょうか??
find /vを調べてみると、指定した文字列を含まない行の内容をすべて画面に表示します。
と記載されていますが・・・・このバッチでは一体なぜ最初にいるのでしょう??
copy con inp.txt | find /v "コピー"
ですが、コンソールから入力させた文字列をinp.txtに保存しているらしいのですが、
そのあとに、また、|find /v"コピー"がでてきますが、なぜでしょう??なにを
したいのでしょう??
さらにまた、copy set.txt+inp.txt setinp.bat | find "○○"が出てきますが、
ここでなぜまた意味不明な、|find"○○"がでてくるのでしょう??
さらにさらに、バッチを実行してみると、set.txtの中身にはコンソールから
入力した文字は何も記載されていない、そして、inp.txtやsetinp.txtという
テキストファイルも、どのフォルダにも出来ていません。
最後の行のdel setinp.bat set.txt inp.txtを消して実行してみても同じです。
なぜでしょう??
このバッチの動き、例としての意図が全く分かりません。。。。
この例題が悪すぎるのか、私の頭がわるすぎるのか・・・・
ちなみに、上記バッチは、http://www.geocities.co.jp/SiliconValley-SanJose/1227/batinput.html
のサイトのものです。
どなたかご教授願います。。。一週間悩みましたが、まったく理解できない状態です。。。
お礼
ご丁寧な解説有難うございます!!