Access2003から、VBAで

DOSコマンドを実行するバッチファイルを起動しています。

バッチファイルをダブルクリックで起動させた時には
カレントディレクトリが、C:\Program Files\~になっているのに

Accessから起動させると、カレントディレクトリが
D:\マイドキュメント~になってしまい、
バッチファイルに書かれているcdも効きません。

AccessのmdbはD:にあります。
バッチファイルはC:\Program Files\~にあります。

原因はどんなことが考えられるでしょうか。

回答の条件
  • 1人2回まで
  • 登録:2010/02/10 09:59:39
  • 終了:2010/02/10 11:17:31

回答(2件)

id:SALINGER No.1

SALINGER回答回数3430ベストアンサー獲得回数9692010/02/10 10:42:14

ポイント50pt

>バッチファイルに書かれているcdも効きません。

ドライブが変更されているので、/d が抜けていませんか?

cd /d C:\Program Files
id:rupopon

これで出来ました。

cdコマンドがよく分かっていなかったです・・・

ありがとうございました。

2010/02/10 11:15:10
id:ken3memo No.2

ken3memo回答回数241ベストアンサー獲得回数742010/02/10 10:45:49

ポイント35pt

もしかして

CD C:\Program Files\

とディレクトリでスペースが空いているからでは?※スペースでパラメーターが区切られてしまうから

""ダブルコーテーションを付けて、

CD "C:\Program Files\"

C:

にするとか。

あとはディレクトリは変わっているのに、D:のままなので、C:でカレントドライブを移すとか?

ダマされたと思って、

C:

CD "C:\~"

とダブルコーテーションで囲ってみてください。

ハズしてしまったらスミマセン。

id:rupopon

ありがとうございました。参考にさせていただきます。

2010/02/10 11:15:36
  • id:SALINGER
    mdbファイルのある位置は関係ないと思います。
    作業フォルダ(既定のデータベースフォルダ)がデフォルトでマイドキュメントだから、
    バッチファイルのカレントディレクトリもマイドキュメントになるわけだけど、
    D:\マイドキュメントになるということは、作業フォルダをDに変更してるということではないかと。
  • id:rupopon
    ありがとうございました。
    /dを入れることでうまくいきました。
  • id:cx20
    バッチファイルのあるディレクトリに移動するのであれば、以下のコマンドが利用できます。
    (「%~dp0」は「%0」をディレクトリ名に展開します。)

    cd /d %~dp0

    <参考情報>
    http://windows.g.hatena.ne.jp/cx20/20100203/p1
  • id:rupopon
    勉強になります。ありがとうございます。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません