- 締切済み
Windows/MS-DOSのバッチファイル
■バックアップバッチファイルを作ろうと思うですが、FDドライブとMOドライブが共存しているPC環境において、FDは【A:¥】、MOは【F:¥】など自動取得し環境変数にセットする方法を教えてください。 ■バックアップを取るときにFDにとるか、MOにとるかのメディア選択をChoice.comで行いたいんです。その時に自動取得機能があると、1つのバッチでどのPCでも使用できる訳です。(非固定) ■FDやMOに特定ファイルを置いておき、DIRで検索しドライブ判定するのは無しです。あくまでメディアがセットされていない事が条件です。 環境変数を個々のPCにあわせてセットするしかないんでしょうか? ■どなたかDOSマニアの方?、御回答願います。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- urk
- ベストアンサー率33% (18/53)
VBのDLL,OCXのインストールはつらいとこですね。以前に作ったプログラムが動かなくなることはよくあります。これがVBのネックですね。 Vectorで、WinBatchEhと言うソフトもありました。これは、ドライブのタイプを取得できます。 GetDriveType()のAPIの戻り値をBATで取得できるので、便利そうですよ。
- Haizy
- ベストアンサー率40% (404/988)
RJBASEさん、こんにちは。 なんか、難しそうです。 DOSの場合、ドライブは、ユーザが認識しているべきものですし・・・。 #1の方のように、VBか何かで、ドライブ文字列を得て、 BATファイルに、パラメタ(%1)を放り込んで、 ****.bat {ココドライブ文字列} 例)として、Xcopy xcopy c:\ %1:\ などに 、なってしまうと思いますが・・・。 あ、ちなみにNT系であれば、環境変数を使った方が簡単でしょう。 参考になれば。 でわ
お礼
ご回答ありがとうございます。 とりあえず、今の状態はiniファイルに set fddrive=a:\とか記述しておいてcopy *.ini *.batに変更し、自動で環境変数にセットするやり方してるんですが・・・・。結局iniファイルは個々で書き換えないといけないし。 ん~困った。
- urk
- ベストアンサー率33% (18/53)
バッチプログラムだけで出来るのかな? VBで、GetDriveType()のAPI使った方がいいのでは?
お礼
速攻のご回答ありがとうございます。確かにVBのほうが楽そうですね。 しかしながら、VBEXEで実行するにはDLL?ランタイムモジュール?を落とさないといけないんですよね?(←自信無し)その場合DLLの上書きとか怖いところです。他のVBアプリが動かなくなったら怖いし。 そういえば、フリーのソフトでDLL不要なやつってどうなんってんでしょ?VBEXEぽいんですが・・・。不思議です。
お礼
遅れて申し訳ありません。 早速ダウンロードしてみました。「送金する価値があるとご判断された場合は、送金をお願いします。」等かなり良心的な作者ですね。 しばらく使ってみます。ありがとうございました。