Hatena::ブログ(Diary)

揮発性のメモ このページをアンテナに追加 Twitter

2011/06/17 (金)

DOSの変数の代入

    FOR /F "tokens=1" %%i IN (hoge.txt) DO (
        ECHO NAME=%%i
        SET NAME=%%i
        ECHO NAME=%NAME%
    )
NAME=aaa
NAME=

変数に代入すると変数の中身が消える。なんだろうこれ。


    FOR /F "tokens=1" %%i IN (hoge.txt) DO (
        ECHO NAME=%%i
        ECHO %%i>tempfile
        SET /P NAME=<tempfile
        ECHO NAME=%NAME%
    )

一旦外部ファイルに出してもダメしかし外部ファイルにはちゃんと出力されている・・・


    FOR /F "tokens=1" %%i IN (hoge.txt) DO (
        ECHO NAME=%%i
        SET NAME=aaa
        ECHO NAME=%NAME%
    )
NAME=aaa
NAME=

ようするに、FOR文の中ではSETが動作しないっぽい。なるほど。ふざけんな。


IF文とか、FOR文で使う ( ) の中だと、SETが動作しないことがある。 ときどき動作することもあるが、その条件はわからない。ELSE節はアウト?

GOTO文を駆使してなるべく最上位階層で走行させる必要がある・・・?

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2012 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |