• ベストアンサー

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

カレントディレクトリーとコマンドの正しい書き方について教えて下さい 例えば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% (4847/10260)
回答No.3

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

shishi16
質問者

お礼

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

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

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

shishi16
質問者

お礼

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

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

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

shishi16
質問者

お礼

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

関連するQ&A

  • コマンドプロンプト

    Windows付属のコマンドプロンプトの使い方について。 moveコマンドで、ファイルを移動することができると聞きましたが、 ディレクトリ(フォルダ)の移動は、どうすれば良いですか? moveコマンドですと、ディレクトリ名の変更になってしまいます。 ここでの移動とは、カレントディレクトリを変更するcdではありません。 よろしくお願いします。

  • コマンドプロンプトの使い方

    あるソフトの使い方の説明に 1. コマンドプロンプトを立ち上げて、anm2pngが存在するパスにCHDIRする(パスを通しているのであれば、必要ない) 2. anm2pngのコマンドライン引数にanmファイルのパスを記述して起動する 3. 抽出に成功すればカレントディレクトリにpngファイルが出力される とあるのですが、自分でCHDIRやコマンドライン引数等調べてやってみたのですがいまいちわかりません。わかりやすい操作方法または詳しく載っているサイト教えてください。 パソコンはXP professionalです。

  • コマンドプロンプトでのカレントディレクトリについて。

    WinXPでコマンドプロンプトを使っているんですが、カレントディレクトリを移動する時、cd c:\Program Files ってやりますよね。 Dドライブのlibというフォルダにカレントディレクトリを移したいんですが、cd D:\libとしても、なんの応答もなく元のプロンプト画面のままです。 Dドライブにカレントディレクトリを移動させるというのは、そもそも出来ないものなんですか? 誰か知っている人がいたら教えて下さい。宜しくお願いします。

  • VBSでコマンドプロンプトのカレントディレクトリ

    VBscriptでコマンドプロンプトを立ち上げてカレントディレクトリするプログラムを作っています。 でもどうしてもカレントディレクトリが出来ていないようです。 何故なのでしょうか? パスの通ってないプログラムをCMD経由で複数立ち上げたりする際に使いたいと思っています。

  • コマンドプロンプトのコマンドについてなんですが。

    こんにちわ。仕事で使っているソフトでなんですが、バッチファイルを 利用して、各機能を動かしているようです。(僕はバッチファイルの プログラムはわかりません)中身を見ると、cdhというのを多用しています。 いろいろ調べたのですが、cdはディレクトリの変更用コマンドで理解 できたのですが、cdhというコマンドはありませんでした。実際に コマンドプロンプトでやってみると、特定のディレクトリに行くことが わかりました。環境変数かと思い、見てみると、そのディレクトリの パスがありましたが、変数名はRPHOMEで内容がそのパスです。 さらに、これをどこかでcdhかhに当てはめていると思うのですが、 それはどこで指定されているのでしょうか? 勝手に思いこんでいるのですが、ご指摘、アドバイスの方よろしくお願い致します<(_ _)>

  • Linuxのchdir(カレントディレクトリが移動できない)

    環境はLinuxおよびcygwinです。 chdir()関数でカレントディレクトリを移動するプログラムを作成しようとしていますが、プログラムの実行後、「pwd」コマンドでカレントディレクトリを確認してもカレントディレクトリが移動されていません。 ソースコード(一部) chdir("/home/hogehoge"); としても、カレントディレクトリは移動せず、pwdコマンドで、 /home/hogehoge になりません。 chdir()関数はエラーを返していません。 もしくは、cdコマンドのソースコードが入手できれば、一番よいのですが・・・Linuxのカーネルやその他のソースコードを展開してもどこにあるか分かりません。 どなたかご教授お願いします。

  • コマンドプロンプト、バッチファイル

    解決法を探してみたのですが、見つからないのでご教授ください。 コマンドプロンプトでどんなコマンド(ipconfig,ping,etc)を入力しても 「操作可能なプログラムまたはバッチ ファイルとして認識されていません。」という警告が出るようになってしまいました。 多分、原因はJavaの勉強をしていたときに環境変数のパスをいじってしまったからだと思います。 調べていて、思ったことなのですが、カレントディレクトリにバッチファイル(.bat)というファイルが見当たりません。これがないからかなとも思っています。 コマンドプロンプトからのコマンド入力ができるように解決方法をご教授ください。

  • コマンドプロンプトで・・・

    コマンドプロンプトで cd c\WORK と書いてみたんですが 指定されたパスが見つかりません と出てきます。 以前はこのように書いてできていたのですが、 なぜかいかなくなりました。 どうしたらいいでしょうか? 特にフォルダ移動はやっていません。 ちゃんとcドライブの中にWORKというフォルダがあります よろしくお願いします

  • コマンドライン

    コマンドについてご質問です。 テスト問題集をやっていたのですが、わからないところがあったので教えてください。 1]カレントディレクトリを1つ上のディレクトリに変更するコマンドを示せ。 ただ単に答えは、cdですか。 2]カレントディレクトリにあるfile1を2つ上位のディレクトリへ移動するコマンドを示せ。 これもただ単に、cdですか お願いします。

  • コマンドプロンプトで・・・(初心者です)

    プログラミングを始めたんですが、準備段階でつまづいてしまいたまた。 コンパイル時にコンマンドプロンプトを使いますが、本ではコマンドプロンプト起動時に C:\> となっていますが、わたしのパソコンでは C:\Documents and Settings\Takeshi> となってしまいます。(Takeshiは私の名前です) cdコマンドをつかってCドライブ内のディレクトリに移動したいのですが、 C:\Documents and Settings\Takeshi> の後にcdを使っても移動してくれません。 ”指定されたパスが見つかりません”というメッセージが出ます。 というわけで、本の通りにC:\>にしたい(移動したい?)のですが、どおすれば良いのでしょうか? Helpで見てみてもさっぱり意味が分かりません。 よろしくお願いします。