• ベストアンサー

VBで環境変数をSETする方法

yanmaaの回答

  • ベストアンサー
  • yanmaa
  • ベストアンサー率45% (207/457)
回答No.2

SHELL=C:\WINDOWS\COMMAN.COM /E:512 CONFIG.SYSに上記のような設定をしてださい。 これで領域不足はなくなるはずです。 環境変数の設定はAUTOEXEC.BATで設定して下さい。 /E:512という所が環境変数の割当てサイズになります。

shigeki-yy
質問者

お礼

おかげさまで、環境変数の領域不足のメッセージは回避できるようになりました。 ありがとうございます。 「パラメータが多すぎます。」というメッセージは、バッチファイルの書き方で回避できました。バッチファイルは、NT系と98系では多少書き方が異なるようで、どっちかでうまくいってももう片方ではうまくいかなかったりするので、苦労しました。 winapi関連で、環境変数を設定する方法を調べてみましたが、取得はできるけど、設定はなかなかうまくいきません(SetEnvironmentVariable関数)。バッチファイルを実行するのではなくVBから直接起動できればきれいなのですが、無理なのかなぁ…と思っています。

関連するQ&A

  • 環境変数

    環境変数って何でしょうか?  アプリケーションプログラムやバッチプログラムに対して、ユーザーが設定する変数。環境変数の設定には、MS-DOSのSETコマンドを使用する。COMMAND.COM自身が利用する環境変数としては、COMSPEC、PATHがある。 とありますが意味がわかりません。 「ユーザーが設定する変数」の「変数」って? 環境変数が何なのか教えて頂けないでしょうか。 よろしくお願いします。

  • 環境変数のための領域

    set AAA = BBB として新しい環境変数を設定しようとすると「環境変数のための領域が足りません」 というエラーが出てしまいます。 設定できる環境変数の数には限りがあるんでしょうか。 autoexec.batで14個の変数を既に設定している状態です。 環境変数のための領域を増やす方法があれば,どなたか教えて下さい。

  • 変数の受け渡し

    いつもお世話になっております。 vb初心者です。 vb6で外部ファイル(バッチファイル)をshellで起動させ、 そのバッチファイルにvb6で設定した変数を読み込ませたいのですが vb6から変数をその外部のバッチファイルに送ることは可能なのでしょうか? ご教授宜しくお願いします。

  • バッチファイルで環境変数が設定されません

    よろしくお願いいたします。 Windows XP Pro の command.com において、バッチファイルの中で set コマンドを使って環境変数を設定しても、バッチから抜けると環境変数の設定ができていません。 バッチ終了後の環境変数は全てバッチ開始前と同じ状態です。 command.com のプロンプトで set コマンドを実行すると、環境変数はセットした内容に変化もしくは追加されます。 cmd.exe ではバッチからでもプロンプトからでも set コマンドで環境変数を操作できます。 なぜ command.com 上のバッチから操作できないのかわからず、不便でかないません。 アドバイスをよろしくお願いいたします。 @echo off set foo=word path=c:\ echo %foo% echo %path% 上記バッチを実行すると word c:\ と表示されますが、set コマンドで確認すると FOO は存在しません PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;... と表示されます。 これはバッチ実行前の値です。

  • システム環境変数の設定

    通常、コントロールパネルのシステムにて設定するシステム環境変数(PATH)を、バッチファイルからコマンドを使用して設定したいのですが、何か良い方法は無いでしょうか?

  • 環境変数?

    MS-DOSで環境設定をしていましたら、”環境変数のための領域が足りません。”というメッセージが出るのですが、環境変数の領域を確保するには、どうすればよいのですか?どなたかご存知でしたら教えていただけませんか? よろしくお願いします。

  • 環境変数の変更(ユーザごとの)

    HOMEPATHやUSERPROFILE等の環境変数を変えたいと考えています。OSは2000Serverです。setコマンドを記述したバッチをログインスクリプトに仕込みましたが、うまくいきませんでした。試しに環境変数ではなく a=b等と記述してもやはり反映されませんでした。何度再起動しても、同じです。環境変数の変更方法(ユーザの)をご存知の方がいらしたら、よろしくお願い足します。

  • VB6での環境変数変更方法について

    VB6で開発しておりますが、環境変数を変更してすぐに反映させる方法はありますか?(OS は WinXP pro です) レジストリの「HKLM/SYSTEM/CurrentControlSet/Control/Session Manager/Environment」のキーを更新してもPCを再起動しないと反映されないようで困っています。 何か方法はあるのでしょうか?

  • バッチファイルにおける環境変数分の繰り返し処理

    こんにちは。 現在、CSVから読み込んだ値(ファイル名)を環境変数に格納し、その環境変数に合致したファイルの移動を行う。というバッチファイルを作成しています。 作成にあたってCSVからのファイル名の読み込み及び、環境変数に全てのファイル名を1個ずつ格納する事(a1=AAやa2=BBなど)には成功したのですが、その後のファイルを移動するコマンドが上手く書けません。 ちなみに move "*%a1%*.txt" "C:\" move "*%a2%*.txt" "C:\" 上記のように1個ずつ手動で環境変数を指定しての移動は出来るのですが、その日によって 取得するファイル名(環境変数の数)が異なってくる為、可能であれば自動で環境変数の数を取得し環境変数分、1個ずつ環境変数からファイル名を読み込み、そのファイルを移動させる。と言ったバッチを組みたいのです。 よろしくお願い致します。 ------------------------------------------------------------------ set count=1 for /f %%i in (test.csv) do @call :add %%i goto PROCESS1 :add set a%count%=%1 set /A count+=1 goto :EOF :PROCESS1 ※移動するコマンド ------------------------------------------------------------------

  • バッチファイルでの環境変数のチェック

    バッチファイル(.bat)内で"エラーを出さずに" 環境変数の有無を確認する方法はありますか?