
コマンドプロンプトでの他端末アプリケーション起動について質問です。
(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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- Windows 10 Windows10起動しない、エラー0xc0000185修復方法 2 2022/07/14 12:28
- Windows 10 windows10のクリーンインストールが完了出来ない 2 2022/06/04 13:33
- Excel(エクセル) 【マクロ】エラーが発生⇒実行時エラー58既に同名のファイルが存在 5 2022/08/31 10:03
- Windows 10 WindowsUpdateで再起動を阻止したいです 3 2023/03/15 22:41
- C言語・C++・C# このプログラミング誰か教えてくれませんか 2 2022/05/14 09:45
- C言語・C++・C# このプログラミング誰か教えてくれませんか 3 2022/05/13 17:27
- Visual Basic(VBA) 【マクロ】フォルダにファイルが1つも無い時に、ファイルがありませんとメッセージを表示する 4 2022/08/28 08:48
- Windows 10 exeファイルが起動しない 4 2022/06/05 16:13
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
pingは正常なのにtracerouteで...
-
エクセルの表にヘンな枠が・・・
-
SONYの音楽ソフト「x-アプリ」...
-
Linux のシェルスクリプトの強...
-
windows10のごみ箱をrd /s /q C...
-
LD_LIBRARY_PATHって?
-
エクセルからアクセスのプロシ...
-
Openイベントを開始させないで...
-
最初の一度しか実行されないロ...
-
コマンドプロンプト「システム...
-
バッチファイル内の各コマンド...
-
linuxサーバーのキャッシュをク...
-
sudoで実行したコマンドの実行...
-
postgres のコマンドが実行でき...
-
シャットダウンバッチがうまく...
-
Linuxのターミナルで別プロセス...
-
SPI非言語の問題 解説お願いします
-
サーバでログオフするとアプリ...
-
taskkill をバッチ処理できない。
-
shutdownコマンド実行の残り時...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SONYの音楽ソフト「x-アプリ」...
-
pingは正常なのにtracerouteで...
-
エクセルの表にヘンな枠が・・・
-
Linux のシェルスクリプトの強...
-
windows10のごみ箱をrd /s /q C...
-
Openイベントを開始させないで...
-
バッチファイル内の各コマンド...
-
LD_LIBRARY_PATHって?
-
最初の一度しか実行されないロ...
-
ROBOCOPY cmdで正常に処理され...
-
SPI非言語の問題 解説お願いします
-
python IDLEで訂正、削除のやり...
-
sudoで実行したコマンドの実行...
-
PowerShellのスクリプト実行に...
-
shutdownコマンド実行の残り時...
-
linuxサーバーのキャッシュをク...
-
taskkill をバッチ処理できない。
-
CRONを隔週の日曜日に実行させたい
-
別のユーザーとして実行が表示...
-
Windows ブート マネージャーの...
おすすめ情報