• 締切済み

Windows/MS-DOSのバッチファイル

■バックアップバッチファイルを作ろうと思うですが、FDドライブとMOドライブが共存しているPC環境において、FDは【A:¥】、MOは【F:¥】など自動取得し環境変数にセットする方法を教えてください。 ■バックアップを取るときにFDにとるか、MOにとるかのメディア選択をChoice.comで行いたいんです。その時に自動取得機能があると、1つのバッチでどのPCでも使用できる訳です。(非固定) ■FDやMOに特定ファイルを置いておき、DIRで検索しドライブ判定するのは無しです。あくまでメディアがセットされていない事が条件です。 環境変数を個々のPCにあわせてセットするしかないんでしょうか? ■どなたかDOSマニアの方?、御回答願います。

みんなの回答

  • urk
  • ベストアンサー率33% (18/53)
回答No.3

 VBのDLL,OCXのインストールはつらいとこですね。以前に作ったプログラムが動かなくなることはよくあります。これがVBのネックですね。  Vectorで、WinBatchEhと言うソフトもありました。これは、ドライブのタイプを取得できます。  GetDriveType()のAPIの戻り値をBATで取得できるので、便利そうですよ。  

参考URL:
http://www.vector.co.jp/soft/win95/util/se085235.html
RJBASE
質問者

お礼

遅れて申し訳ありません。 早速ダウンロードしてみました。「送金する価値があるとご判断された場合は、送金をお願いします。」等かなり良心的な作者ですね。 しばらく使ってみます。ありがとうございました。

  • Haizy
  • ベストアンサー率40% (404/988)
回答No.2

RJBASEさん、こんにちは。 なんか、難しそうです。 DOSの場合、ドライブは、ユーザが認識しているべきものですし・・・。 #1の方のように、VBか何かで、ドライブ文字列を得て、 BATファイルに、パラメタ(%1)を放り込んで、 ****.bat {ココドライブ文字列} 例)として、Xcopy xcopy c:\ %1:\ などに 、なってしまうと思いますが・・・。 あ、ちなみにNT系であれば、環境変数を使った方が簡単でしょう。 参考になれば。 でわ

RJBASE
質問者

お礼

ご回答ありがとうございます。 とりあえず、今の状態はiniファイルに set fddrive=a:\とか記述しておいてcopy *.ini *.batに変更し、自動で環境変数にセットするやり方してるんですが・・・・。結局iniファイルは個々で書き換えないといけないし。 ん~困った。

  • urk
  • ベストアンサー率33% (18/53)
回答No.1

バッチプログラムだけで出来るのかな? VBで、GetDriveType()のAPI使った方がいいのでは?

RJBASE
質問者

お礼

速攻のご回答ありがとうございます。確かにVBのほうが楽そうですね。 しかしながら、VBEXEで実行するにはDLL?ランタイムモジュール?を落とさないといけないんですよね?(←自信無し)その場合DLLの上書きとか怖いところです。他のVBアプリが動かなくなったら怖いし。 そういえば、フリーのソフトでDLL不要なやつってどうなんってんでしょ?VBEXEぽいんですが・・・。不思議です。

関連するQ&A