• 締切済み

BATにINI的に外部のsetを流し込みたい その2

BATにINI的に外部のsetを流し込みたい その2 forを使うと外部TXT読み込めますよと言う回答を得てミニマムなテストで実際成功したのですが もう少し勉強しないと駄目らしく別の壁にぶち当たりました・・・ 既にfor文を使っているバッチだとforが使えないみたいなのですがなんででしょうか・・・ (なんでというか全面的にこっちの力不足確定の話ですが) @echo off set no=東 set edit=F:\編集\ set SVBS=C:\VBS\編集\ for %%i in (%edit%%no%\*.doc) do call %SVBS%%no%.vbs "%%i" やりたい事としてはこの状態からsetを外部化するのに FOR /F "eol=; tokens=1 delims=" %%i in (C:\VBS\1.txt) DO @%%i for %%i in (%edit%%no%\*.doc) do call %SVBS%%no%.vbs "%%i" のようにして変数に関する部分だけ入れ替えたいんですが・・・ 多分%%iの部分でつまづいているのわ分かるのですが

みんなの回答

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

「bat 途中にテキスト流し込み」を質問していた人ですよね。 >callだとそのBAT内の環境変数を変化させられないようなので・・・。 は、間違いですよ。 ===== X.BAT ===== set no=東 set edit=F:\編集\ set SVBS=C:\VBS\編集\ ===== Y.BAT ===== @echo off call X.BAT for %%i in (%edit%%no%\*.doc) do %SVBS%%no%.vbs "%%i" ================= で、OKです。

sakusa001
質問者

補足

この場合だとcallBATで変数の変化させる事が出来るんですね。。 本当勉強不足でした。 二つのBATから組み合わせて別BATのset読み出せたんで問題無いようです。 なかなかBATの構文に関して分かりやすい物が探し出せなくてケアレスな物に回答させてしまって申し訳ないです。 これで前進しそうです有難う御座いました!!