|
|
いつもすみません。ken です。 また一つ質問させて下さい。 ●環境 Windows XP SP2です。 ●質問 ネストしたFORループで、内側のFORでGOTO を使うと、うまく動作しなくなります。 原因がわかりましたら、教えて下さい。 例 SET DriveList=c: e: FOR %%I in ( %DriveList% ) do ( FOR %%X in ( %DriveList% ) do ( IF NOT EXIST %%X ( ECHO 内側のFOR GOTO Label ←■ ) ) :Label ECHO 外のFOR ←■ ) で、内側のFORを抜けるためにGOTO(■のところ) を使うと、外側のFORが一度しか実行されなく なってしまいます。 また、goto のラベルの下(■のところ)に 一つもコマンドを書かないと ) の使い方が誤っています。 というエラーになってしまいます。 現在は、内側のFORをサブルーチンにすることで うまく動作はしています。 ただ、GOTOやFORのヘルプをいくら読んでも そのような注意は見つけられませんでした。 動作から推測すると、FORを入れ子にしてGOTOを 使うと、外側のFORも終了してしまうのでしょうか。 以上、いつも本当にすみません。 |
|
|
|
|