• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:cmd /c を使ったときと使わなかった時の違い)

cmd /c を使ったときと使わなかった時の違い

このQ&Aのポイント
  • VBScriptでコマンドプロンプトのコマンドを呼び出すとき、cmd /c を頭につけるかどうかで実行できるコマンドが異なる場合があります。
  • dirコマンドなど一部のコマンドは、cmd /c をつけないと実行できない場合があります。
  • 一方、EVENTCREATEコマンドなど一部のコマンドは、cmd /c をつけずに実行できる場合もあります。

質問者が選んだベストアンサー

  • ベストアンサー
  • jgk
  • ベストアンサー率75% (104/138)
回答No.1

シェル(cmd.exe)に内蔵されているかどうかです。 dirコマンドはシェル(cmd.exe)に内蔵されているため、cmd.exe経由でなければ実行できませんが、 eventcreateは.exeで存在するため、cmd.exe経由でなくても実行可能です。

nick_2010
質問者

お礼

回答ありがとうございました。 シェルに内蔵されているかどうかなのですね。 シェルについて少し調べてみます。

その他の回答 (2)

回答No.3

No2です。 すいません、質問者さまの意図が違いましたね。 /Cスイッチを指定した時としない時の挙動と勘違いしてしまいました。 No2の回答はスルーしてください

nick_2010
質問者

お礼

質問の意図とは違いましたが参考になりました。 ありがとうございました。

回答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窓の開きっぱなしは問題になるのでは無いですか?

関連するQ&A