• ベストアンサー

コマンドプロンプトの正しい書き方

カレントディレクトリーとコマンドの正しい書き方について教えて下さい 例えばMOVEコマンドを使う場合、 (1)常にCHDIRで正しいカレントディレクトリーを指定し、移動元・移動先共にパスを付けて指定する。 (2)CHDIRで正しいカレントディレクトリーを指定してあれば移動元はパスを省略してもいい。 (3)移動元・移動先共にパスを付けて指定してあればCHDIRの指示は不要である。 私は今まで(2)の方法でやってきたのですが時々ミスが起きるようで最近(1)の方法に変えていますが、記述が煩雑です。(1)とか(3)でもいいのでしょうか。

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

  • ベストアンサー
  • adbarg
  • ベストアンサー率53% (1134/2108)
回答No.4

> バッチファイルにしたとき、カレントディレクトリーが変わる度にCHDIRの指示がいるのか? 全て絶対パスで書かれているのであれば基本的には、不要ですが たとえば、バッチ内でDOSアプリケーションを呼び足している場合 絶対パス指定だと、たとえばxxx.iniとか設定ファィルを内部的に呼び出しているアプリであれば 設定ファイルや定義ファイルがある場所と、カレントディレクトリーが違えば、 設定ファイルや定義ファイルが見つからないとエラーになる可能性はあります。 滅多にそんな物は無いとは思いますが、標準のDOSアプリ以外は、作る人の自由ですので どのように設計されているのかは変わりませんので… ですのでそういったアプリは、一般的にバッチファィル内でカレントディレクトリーが設定されています。 まぁ、正直言って、このあたりは作り手の自由なので、 アプリの仕様を見ながら、それにあわせて、バッチファイルを作れば良いだけなので…

その他の回答 (4)

  • adbarg
  • ベストアンサー率53% (1134/2108)
回答No.5

訂正 × どのように設計されているのかは変わりませんので… ○ どのように設計されているのかはわかりませんので…

shishi16
質問者

お礼

よくわかりました。ありがとうございます。

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.3

No1です。 先に(3)と書いたとおり、 >フルパスで書いてあればCHDIRは省略してもいい です。

shishi16
質問者

お礼

よくわかりました。ありがとうございます。

  • adbarg
  • ベストアンサー率53% (1134/2108)
回答No.2

要は、相対パスでするか、絶対パスを使うかの違いで どちらでも正しい方法でしょう。 ただ、カレントディレクトリが把握しにくいと言うこともあり 絶対パスでの記述か主流ですが… 1) 意味不明ですが… カレントディレクトリーは、相対パスの基準点ですので   便宜的な物で正しい位置というのは、ありません。   基本は、自分が作業しやすい位置に指定すると思います。   また、移動元・移動先共にパスを付けて指定すれば、絶対パス指定ですので   カレントディレクトリーを指定する必要性はありません。   2) カレントディレクトリーの位置を移動元のパスにしたのですから省略してもかまいません。   念の為、chdirで、現在のカレントディレクトリーの位置を確認してください 3) 絶対パスでの指定ですので、カレントディレクトリーの指定は不要です。

shishi16
質問者

お礼

早速の回答ありがとうございます。 意味不明の質問になってしまい申し訳ありません。 『バッチファイルにした時の正しい書き方は何でしょうか』という文章を書き漏らしてしまいました。 バッチファイルにしたとき、カレントディレクトリーが変わる度にCHDIRの指示がいるのか、それともフルパスで書いてあればCHDIRは省略してもいいのかと言うことをお聞きしたかったのです。 よろしくお願いします。

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

何が「正しい」ということは無いと思いますが、場所の決まったファイルのコピーならば、フルパスで指定するのが普通かと思います。つまり(3)。 >私は今まで(2)の方法でやってきたのですが時々ミスが起きるようで (2)でやるなら、chdir の実行後に ERRORLEVEL でchdirの成功を確認した方がいいでしょうね。

shishi16
質問者

お礼

早速の回答ありがとうございます。 意味不明の質問になってしまい申し訳ありません。 『バッチファイルにした時の正しい書き方は何でしょうか』という文章を書き漏らしてしまいました。 バッチファイルにしたとき、カレントディレクトリーが変わる度にCHDIRの指示がいるのか、それともフルパスで書いてあればCHDIRは省略してもいいのかと言うことをお聞きしたかったのです。 よろしくお願いします。

関連するQ&A