- ベストアンサー
"E:TEST.CTL"という記述について
OPEN "C:\TEST.CTL" FOR INPUT AS #9 という記述は、ディスクC上にあるTEST.CTLというファイルをオープンするという事ですが、 OPEN "E:TEST.CTL" FOR INPUT AS #9 という記述の場合は、どうなるのでしょうか? カレントディレクトリが関係している様なのですが。 例えば 1)ディスクEのカレントディレクトリのTEST.CTLをオープンする。 2)ディスクに関係無く、カレントディレクトリのTEST.CTLをオープンする。 などが考えられるのですが、どうなんでしょう? 又、この辺りの記述規則の解説が有れば紹介して下さい。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは、honiyonです。 E:TEST.CTLとすると、「EドライブのカレントにあるTEST.CTL」という意味になります。 MS-DOS時代は明示的にCDというコマンドを使って各ドライブのカレントを指定する事が出来ましたが、Windowsの場合はどうなるか分からないです。 最後にエクスプローラーでアクセスしたフォルダ? でも複数のウインドウ開いて同時に1つのドライブにアクセス出来ますしね...カレントが何になるかは分からないです笑 実験あるのみでしょうか。 あまり参考にならなくてごめんなさいです^^;
その他の回答 (3)
- TAGOSAKU7
- ベストアンサー率65% (276/422)
Σ( ̄ロ ̄lll) コロン・・・見えなかった・・・ (;´Д`) GOOの掲示板 見づらいよー Eのカレントフォルダに存在するTEST.CTLを開くという意味ですね・・・ でーもー、さっき言ったようにカレントドライブ/フォルダを移動してからコールするのがよろしいかと思います。
お礼
「Eのカレントフォルダに存在するTEST.CTL」ですね、ありがとうございます。でもANo.#2~#4を読んでいると、フルパス指定を基本にする方がVBでは良いみたいですね。で、まれにそれで駄目な場合は、ANo.#3を参考にするという事でしょうね。コロンはすみませんでした、全角で記述すべきでしたね。
- TAGOSAKU7
- ベストアンサー率65% (276/422)
フルパス指定でオープンしてもできない場合があります。 以前にバッチ系のプログラムを起動させようとしたら、マシンによってできなかった経験があります。 回避策として、「chdrive」「chdir」を使用してアプリケーションのカレントドライブパスを、バッチファイルの存在する場所へ移動し、フルパスを記入しないで行うとできました。 原因? ┐(´ー`)┌フッ サァ サッパリさ♪ しかし同じマシン・同じ環境なのにこういうこともあります。 あとで先輩(独身40歳/競馬好き/PCオタク)にきいたら「まれにWin95/98/NTにおこる現象」だと言ってました。
- Khazad
- ベストアンサー率30% (17/56)
やってみればわかると思うのですが…。 DOS窓でも、実行ファイルはフルパスで指定したらカレントドライブに 関係なく実行できますよね? あと、CD以外のコマンドの引数も、フルパスで指定したらカレントとは関係ない はずですよね…。 VBでも同様に、フルパスで指定した場合は、カレントディレクトリは関係なく E:TEST.CTLを開くはずです。 (実際そういう処理をした実績はあります:VB4~6) E:TEST.CTLではなく、別のファイルが開いているというのであれば、 別のところに原因はあるとおもうのですが…。
お礼
E:TEST.CTLに関しては、ANo.#1・4で良いのかと思います。ただ、VBではフルパス指定を基本にする方が良いみたいですね。ありがとうございました。
補足
フルパス指定ではなく、E:TEST.CTLという指定なので、今回の質問をしました。
お礼
まずは「EドライブのカレントにあるTEST.CTL」って事で良いのですね、ありがとうございます。Windowsでの複数ウィンドウを開いている場合は、私もこれから考えてみます。