コマンドプロンプトでの他端末アプリケーション起動について質問です。
(OS:WindowsXP)
以下の二つの方法でアプリケーションを起動した時に動作の違いが出るのはなぜでしょうか?是非教えて下さい。
【前提】
アプリケーションは起動時に同じ共有フォルダ内の設定ファイルを参照しています。
設定ファイルが存在しなければエラーポップアップを表示します。
・エクスプローラ画面からサーバの共有フォルダにアクセスし、直接exeを叩いた場合
エラーも無く正常に起動する。
・コマンドプロンプトでC:\Documents and Settings\○○> \\192.○○○.○○.○○\共有フォルダ\○○.exeを実行した場合
「設定ファイルが存在しません。」というエラーポップアップが表示され、アプリケーションが終了する。
No.2ベストアンサー
- 回答日時:
プログラム中で設定ファイルのファイルパスの指定方法の違いでは。
相対パスならどちらもOKでしょうが、パスを指定せずにファイル名のみでオープンしようとした場合、カレントフォルダが指定されたとみなします。
で、エクスプローラの場合は作業フォルダとしてプログラムと同じフォルダが指定されているのでカレントフォルダは同じなんですが、コマンドプロンプトの場合はそうは行かない。あくまでもカレントフォルダは「C:\Documents and Settings\○○」なので、ファイル名だけで開こうとするとエラーになる。
回避するには、ネットワークドライブに\\192.○○○.○○.○○\共有フォルダをマウントしてからカレントドライブ、カレントフォルダを変更してください。
※\\192.○○○.○○.○○\共有フォルダへ直接にカレントフォルダを変更することはできません。ネットワークドライブとしてマウントする必要があります。
http://www.rimesene.co.jp/mesene/tips/contents/z …
http://www.relief.jp/itnote/archives/002778.php
No.4
- 回答日時:
他の方の回答にもありますが、カレントディレクトリがプログラムの存在しているフォルダと異なるため、と考えて良いと思います。
プログラムと同じフォルダ内に設定ファイルが存在していることが前提のプログラムを質問にあるような起動方法で実行しようとすると同様のエラーになります。
回避するためには
(1) フォルダをネットワークドライブにマウントして、カレントディレクトリを移してから実行する
(2) プログラムに設定ファイルを指定するオプションがある場合は、オプションで設定ファイルを明示的に指定する
などの方法が考えられます。
Toshi0230さんの意見である「(1) フォルダをネットワークドライブにマウントして、カレントディレクトリを移してから実行する」の方法でエラーを回避することが出来ました。
ありがとうございました!
No.1
- 回答日時:
プログラムがわからないので予想ですが、アクセスを行うカレントディレクトリ(この場合ではC:\Documents and Settings\○)の情報をもって設定ファイルを検索しているのではないでしょうか?
回避するために、たとえば
\\192.○○○.○○.○○\共有フォルダ\
をネットワークドライブとしてZ:\マウントし、
C:\Documents and Settings\○○> z:
z:\> ○○.exe
としてみてはどうでしょうか?
たとえば、バッチなら
z:
○○.exe
でOKです。
勉強不足なのか、IPアドレスで共有フォルダを指定しても
私の環境ではうまくカレントディレクトリを移動できなかったので、
ネットワークドライブだと大丈夫だと思います。
Yorisinさんの意見に従って試してみたところ、エラーを回避出来ました!
これからはもっとネットワークに関しても勉強致します。
どうもありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SONYの音楽ソフト「x-アプリ」...
-
シャットダウンバッチがうまく...
-
DMMで電子書籍を購入し、ファイ...
-
ラズベリーパイに関して質問で...
-
SPI非言語の問題 解説お願いします
-
pingは正常なのにtracerouteで...
-
python IDLEで訂正、削除のやり...
-
Macでシェルスクリプト実行時に...
-
ROBOCOPY cmdで正常に処理され...
-
linux初心者です wineをつかっ...
-
コマンドプロンプトについて
-
taskkill をバッチ処理できない。
-
やっぱ駄目だわ!さっきソープ...
-
shutdownコマンド実行の残り時...
-
LD_LIBRARY_PATHって?
-
Microsoft Update のエラー
-
コマンドプロンプトとcmdの違い
-
sudoコマンドがnot foundになっ...
-
PowerShellってなんでイッパツ...
-
システム終了時にバッチファイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SONYの音楽ソフト「x-アプリ」...
-
エクセルの表にヘンな枠が・・・
-
pingは正常なのにtracerouteで...
-
LD_LIBRARY_PATHって?
-
バッチファイル内の各コマンド...
-
python IDLEで訂正、削除のやり...
-
Openイベントを開始させないで...
-
最初の一度しか実行されないロ...
-
windows10のごみ箱をrd /s /q C...
-
emacsでCtrl+zを押してサスペン...
-
shutdownコマンド実行の残り時...
-
エクセルからアクセスのプロシ...
-
ROBOCOPY cmdで正常に処理され...
-
SPI非言語の問題 解説お願いします
-
シャットダウンバッチがうまく...
-
sudoで実行したコマンドの実行...
-
CRONを隔週の日曜日に実行させたい
-
linuxサーバーのキャッシュをク...
-
コマンドプロンプト「システム...
-
Mac de プログラム
おすすめ情報