forループで目覚めないのと同等のカット
weekly_date.txtのコンテンツ
18092012
19092012
20092012
21092012
22092012
23092012
24092012
バッチスクリプトを実行していて、以下の部分で変数値の置換の問題に直面しています
for /f %%I in (weekly_date.txt) do (
echo %%I
set yy=%%I:~4,4%
set mm=%%I:~2,2%
set dd=%%I:~0,2%
echo %yy%
SET bp=/xx/yy/%mm%/%dd%
SET br=/aa/bb/%mm%/%dd%
SET TP=F:\xx\%yy%\%mm%\%dd%\yy
echo %bp%
echo %br%
echo %TP% )
done
================================================== ======================
それでは
SET bp=/xx/yy/%/%mm%/%dd%
SET br=/aa/bb/%/%mm%/%dd%
SET TP=F:\xx\%yy%\%mm%\%dd%\ff
バッチスクリプトを実行すると、次のように置き換えられます
SET bp=/xx/yy/%i:~2,2/%i:~0,2
SET br=/aa/bb/%i:~2,2/%i:~0,2
SET TP=F:\xx\%i:~4,4\%i:~2,2\%i:~0,2\ff
実際には、出力は
/ xx / yy / 09/18 / aa / bb / 09/18 F:\ xx \ 2012 \ 09 \ 18 \ ff
/ xx / yy / 09/19 / aa / bb / 09/19 F:\ xx \ 2012 \ 09 \ 19 \ ff
......。
/ xx / yy / 09/24 / aa / bb / 09/24 F:\ xx \ 2012 \ 09 \ 24 \ ff
私がどこで間違っているのか誰かが指摘できますか?
よろしくお願いします