フォロトップ:この会議室が所属するフォロのトップページへ移動します 会議室トップ:この会議室のトップページへ移動します トピック一覧:この会議室内のトピックを一覧表示します おすすめレビュー:この会議室に関連付けられたレビューを一覧表示します 発言者一覧:この会議室に発言したことのあるメンバーを一覧表示します 会議室に参加:この会議室への参加登録が出来ます
文字サイズ変更: [] [] []
お目当てのフォロへGO! 
オフィシャル
エンタメ
スポーツ
文化・趣味
コンピュータ
くらしと健康
芸術・学問
ビズと社会
地域・年代
ノンジャンル


2008年06月15日
12:11
【86】  FORをネストした場合の変数について
FORの内側でFORを使用し、外側のFORの出力結果を内側のFORの変数の一部に代入しようとしています。

具体的には以下のようなスクリプトです。

set FILE=ALL
if %FILE%==FILE1 (
 set NUMBER=1
) else if %TB%==FILE2 (
 set NUMBER=2
) else (
 set NUMBER=1 2
)

for /f "usebackq tokens=*" %%a in ( '%NUMBER%' ) do (
 for /f "usebackq tokens=*" %%b in ( 'FILE%%a' ) do (
   echo %%b>> result.txt
 )
)
 
「外側のFORの出力結果」を内側のFORに代入し、以下のような
結果を期待しています。

FILE1
FILE2

現実には
FILE1 2

というふうになってしまいます。遅延環境変数を意識して内側のFOR内で代入した%%aに!%%a!(かなり的外れかも知れませんが)を試したりはしましたがダメでした。
ご存知の方、アドバイスよろしくお願いいたします。
コメント
2008年06月15日
21:47
力量がわからず意図が読みにくいのですが、

>for /f "usebackq tokens=*" %%a in ( '%NUMBER%' ) do (

userbackq や tokens=* および %NUMBER% を ' で囲んでいるのはそれぞれどういう意図をもってのことですか?それとも意味をわからずただ書いているだけ?
すべて表示 1番~1番を表示
 コメントするにはfolomyへの会員登録ならびにログインが必要です。 folomyに入会する
ログインする(すでに登録済みの方)
----