- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:cmd /c を使ったときと使わなかった時の違い)
cmd /c を使ったときと使わなかった時の違い
このQ&Aのポイント
- VBScriptでコマンドプロンプトのコマンドを呼び出すとき、cmd /c を頭につけるかどうかで実行できるコマンドが異なる場合があります。
- dirコマンドなど一部のコマンドは、cmd /c をつけないと実行できない場合があります。
- 一方、EVENTCREATEコマンドなど一部のコマンドは、cmd /c をつけずに実行できる場合もあります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
シェル(cmd.exe)に内蔵されているかどうかです。 dirコマンドはシェル(cmd.exe)に内蔵されているため、cmd.exe経由でなければ実行できませんが、 eventcreateは.exeで存在するため、cmd.exe経由でなくても実行可能です。
その他の回答 (2)
- アプ(@skm36522)
- ベストアンサー率49% (80/161)
回答No.3
No2です。 すいません、質問者さまの意図が違いましたね。 /Cスイッチを指定した時としない時の挙動と勘違いしてしまいました。 No2の回答はスルーしてください
質問者
お礼
質問の意図とは違いましたが参考になりました。 ありがとうございました。
- アプ(@skm36522)
- ベストアンサー率49% (80/161)
回答No.2
> cmd /c を頭につけた場合と、つけない場合のどちらでも実行できると思いますが、 > 何が違うのでしょうか。 CMD.exeの/Cスイッチは、指定したコマンドを実行した後に、CMD.exeを終了する設定です。 /Cスイッチを付けない場合は、コマンド実行後にCMD.exeが終了しませんが、 記載のとおり、DIRなど起動しないコマンドも存在します。 DIRなどを指定したい場合は、/Kスイッチを設定する事で起動します。 cmd.exe /K DIR [ENTER] > しかし、どちらでも実行できる場合については何が違うのか /Cスイッチを記載していない場合、指定したコマンドを実行する度に、新しいDOS窓が開きます。 要は、実行する度に開かれたDOS窓は、JOB(BAT)が終了しても、開きっぱなしとなると言う事です。 JOB(BAT)をオペレータが手動で起動するのであれば、気になりませんが、自動化であれば、DOS窓の開きっぱなしは問題になるのでは無いですか?
お礼
回答ありがとうございました。 シェルに内蔵されているかどうかなのですね。 シェルについて少し調べてみます。