- ベストアンサー
バッチのNUL
バッチファイルの @copy c:\dat001.exe > NUL という部分の意味を教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
コマンドラインで copy /? とすると、XP では COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/A | /B]送り側 [/A | /B] [+ 送り側 [/A | /B] [+ ...]] [受け側 [/A | /B]] と表示されます。 最初の送り側が [ ] で囲まれていないのは必須ということを表し、受け側 が [ ] で囲まれいるのは省略可能ということです。 受け側が省略された場合は、カレントディレクトリに同じファイル名でコピーということになります。 念のため書いておきますと、カレントディレクトリを変更するには CD を使用します。また、通常、 C:\> や C:\Documents and Settings> といったプロンプトの > の左側はカレントドライブとカレントディレクトリを表しています。(PROMPT でプロンプトを変更することが可能です。)
その他の回答 (3)
- tsukasa-12r
- ベストアンサー率65% (358/549)
すみません。 >ただし、コマンドプロンプトで直接、 >C:\>なんとかかんとか > NUL >とするとプロンプトも出なくなってしまうので、 とういのは間違いでした。
- gatyan
- ベストアンサー率41% (160/385)
行頭の @ についてだけ echo on の状態でバッチファイルを実行すると、バッチファイルの各行が画面に表示されながら実行されますが、行が @ で始まる場合は、そのコマンドが表示されない。 バッチファイルの先頭で、 echo off を実行しているなら、この場合の @ はあっても無くてもコマンドは表示されません。
お礼
ありがとうございました。
- tsukasa-12r
- ベストアンサー率65% (358/549)
画面出力(標準コンソール出力)をしないようにする(捨ててしまう)ということです。 @copy c:\dat001.exe と @copy c:\dat001.exe > NUL を実行してみて比べてみると違いがわかると思います。 ただし、コマンドプロンプトで直接、 C:\>なんとかかんとか > NUL とするとプロンプトも出なくなってしまうので、バッチファイルの中でのい >NUL するようにした方がいいと思います。
補足
copy c:\dat001.exe というのはバッチの中でどういう意味だか分かりませんか? コピー先の無いおかしなステートメントのように思えます。