[前の記事]« [NT系]BU(BATUTY)が使えません
[次の記事]ファイル名末尾の数字に1を足してリネーム »

関連オンラインソフト配布サイト:
Vector>ダウンロード(top) |>MS-DOSまたは汎用 | >WindowsVista/XP/2000/NT

▲カテゴリー「FOR .. IN ( ) DO..」索引へ
▲カテゴリー「SET, PATH, %環境変数%」索引へ

定義ファイルを使った環境変数の一括設定

235.
ファイルから読込んだ環境変数を同じFOR文内で環境変数として使いたい
2005年01月27日(木) 19時44分
うっきー
●DOS/Windowsのバージョン↓
Windows XP

初めまして。
いつも参考にさせております。

現在、環境変数を別ファイルで持たせ
for /F "eol=# tokens=1,2* delims==" %%i in (_configure.ini) do (
  set %%i=%%j
)
この様に環境変数として読込ませています。

しかし、同じファイル上で定義された環境変数(HOME=C:\home)を使って環境変数を新たに環境変数(BIN=%HOME%\bin)を定義しようとするとそのままの文字列が入ってしまいます。うまい具合に、同じループ内で(BIN=C:\home\bin)とすることは出来ないでしょうか?

それとも、展開の遅延問題もありますし(_configure.ini)ファイル自体をバッチファイルにした方が良いでしょうか??
239.
Re:ファイルから読込んだ環境変数を同じFOR文内で環境変数として使いたい
2005年01月27日(木) 23時14分
otn
>●DOS/Windowsのバージョン↓
>Windows XP

>現在、環境変数を別ファイルで持たせ
>for /F "eol=# tokens=1,2* delims==" %%i in (_configure.ini) do (
>  set %%i=%%j
>)
>この様に環境変数として読込ませています。

>しかし、同じファイル上で定義された環境変数(HOME=C:\home)を使って環境変数を新たに環境変数(BIN=%HOME%\bin)を定義しようとするとそのままの文字列が入ってしまいます。うまい具合に、同じループ内で(BIN=C:\home\bin)とすることは出来ないでしょうか?

>それとも、展開の遅延問題もありますし(_configure.ini)ファイル自体をバッチファイルにした方が良いでしょうか??

一番簡単な解決は、call set %%i=%%j とすることでしょうか。
他には書かれているように遅延展開を使うか。
243.
Re2:ファイルから読込んだ環境変数を同じFOR文内で環境変数として使いたい
2005年01月28日(金) 12時52分
うっきー
otn さん

>一番簡単な解決は、call set %%i=%%j とすることでしょうか。
>他には書かれているように遅延展開を使うか。

なるほど、その手がありましたか!!
call set %%i=%%j にて、無事動作出来ました。

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


カテゴリー「FOR .. IN ( ) DO..」索引へ
カテゴリー「SET, PATH, %環境変数%」索引へ

 

カテゴリー一覧

FPCU/FPCDIY QUICK LINK online
この上の各ジャンル名をクリックすると、下のウィンドウが切り替わります▼


=リンク集のインデックスはこちら=

資料書籍

About

2005年01月27日 12:21に投稿されたエントリーのページです。

ひとつ前の投稿は「[NT系]BU(BATUTY)が使えません」です。

次の投稿は「ファイル名末尾の数字に1を足してリネーム」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

This site is powered by Six Apart
Movable Type 3.33-ja
このブログについて | 運営:有限会社メディアポート