- ベストアンサー
アプリケーションによって参照ファイルを切り替える方法
環境:WindowsVista すべて同じフォルダにあることを前提とします。 A.exeがtest.iniを参照しています。 B.exeもtest.iniを参照しています。 アプリケーションの内容を変えずにtest.iniの参照先を切り替えることは可能でしょうか? 具体的には A.exeはtest.iniを参照したまま。 B.exeはdummy.iniを参照する。 といった感じです。 ハードリンクやシンボリックを作成してexeによって切り替えれないかなーなどと考えて見たのですが答えはでておりません。 よい方法がございましたら是非お願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
あなたと議論したいわけではありません。情報が少ないから、質問しただけです。気を悪くしたのならごめんなさい。 今回の場合は、ソースコードを手に入れて、書き直し、コンパイルし直すしか手はないでしょうね。それがだめなら逆コンパイラでリバースエンジニアリングするとか。 ハードリンクについてはあまりよく知りませんが、プログラム内部で目標ファイル名が固定されている場合は、無理ではないでしょうか。
その他の回答 (3)
- SilverThaw
- ベストアンサー率32% (260/806)
何かとんでもない勘違いされている方がいるようですが、質問についてはアプリの作り方によって違います。 (以下は、iniファイルを設定ファイルと仮定して記載します) アプリケーション上から、オプションとして設定ファイル名まで変更できるものであれば可能です。 また、場合によってはショートカットにオプションとして記載できる場合もあります。 上記二つについては、実現できるのならマニュアルにも記載されていると思います。 しかしながら、一般的にはプログラム内でファイル名が固定されている場合が多くあります。質問の状態がこれに当たると思います。 この場合には対処方法は一般的にはありません。
補足
回答ありがとうございます。 設定ファイル(INI)を使って記述したのは分かりやすくするためで実際は独自の拡張子であります。 また変更できる類のものではありません。 >>しかしながら、一般的にはプログラム内でファイル名が固定されている場合が多くあります。質問の状態がこれに当たると思います。 この場合には対処方法は一般的にはありません。 固定されている場合であっても同名のハードリンクを作成してやることで回避することができます。 しかしながら今回のケースは「ファイル名が固定されているプログラムが二個あり、その固定先が同一ファイル」という特殊なケースのために質問させていただきました。
拡張子の関連付けを変更しているわけではありませんよ。あくまで特定のアプリが特定のファイルを開くように、ショートカットに設定しているだけです。 用語の意味を説明してください。アプリとデータの関係は普通「参照」という言葉は使いません。「参照」といえば、一般的にエクセルなどがほかのセルやファイルのデータを読み込むときに使います。たとえばセル参照など。 アプリとデータの関係は「関連付け」などと呼びますが、「参照」としたのは何かわけがあるのでしょうか。 また、「参照先を切り替える」とはどういうことでしょうか。「切り替える」というからには、関連付けのように恒常的にではなく、その都度切り替えるということですか。 1つのデータファイルを、その都度違うアプリで開きたいのなら、アイコンを右クリックし、「プログラムから開く」で実行できますが。
補足
a.exeという実行ファイルをプログラムを自分でコンパイルして作成します。 作成したプログラム(アプリケーション)の内容は同一フォルダに存在するtest.txtというファイルの中身を表示するものだったとします。 次にb.exeという実行ファイルを作成します。 これもa.exeと内容は同じことするプログラムです。 さて、このときa.exeとb.exeの内容はコンパイルしてしまっているので変えられません。 しかしtest.txtを参照している二つのプログラムのうちb.exeだけはどうしても別ファイル(test2.txtなど)を参照させたくなりました。 上記の場合の「参照」という言葉は >>、一般的にエクセルなどがほかのセルやファイルのデータを読み込むときに使います にあてはまる事例に属するものだと思いますし、間違った使いかたをしているとは思えません。
ショートカットから開くようにすれば、同じ拡張子のファイルに対して、違うアプリを起動させることができます。 (1)目的のファイルへのショートカットを作る。 (2)ショートカットを右クリック (3)プロパティ (4)全般タブ (5)ファイルの種類のところの「変更ボタン」をクリック (6)プログラムを選択 (7)OK (6)でプログラムが出てこない場合は、「参照」でプログラムを直接指定するか、目的のファイルの拡張子を「xxx」などにして(1)からやり直してください。
お礼
質問の仕方が悪かったです test.iniの参照先を切り替えることは可能でしょうか? ではなく test.iniへの参照先を切り替えることは可能でしょうか? です。 具体例にもあるように二つのアプリケーションが使用する参照先のファイル名が同一であり、それを変更したいです。 拡張子の関連付けを変更したいわけではありません。 よろしくお願いします。
お礼
回答ありがとうございます。 言葉足らずなためいろいろご迷惑をお掛けしたことをお詫びします。 ソースコードを手に入れる事ができないので今回は諦めようと思います。 (中身の読み取り部分を工夫してどちらのアプリケーションでもエラーがでないようにしてみます) ありがとうございました。