質問: 【dosコマンド】for文の中で変数をカウントアップしたい。 【dosコマンド】for文の中で変数をカウントアップしたい。 【現在のソース】 for %%i in (\\hoge\hoge\*.*) do ( echo %%i,%%~ziバイト >> log.txt type nul > %%i ) 【現在の処理内容】 とあるフォルダの中になる全ファイルのパス、サイズをログファイルに書き出し、、 全ファイルを0バイトにクリアする。 【やりたいこと】 ログファイルにファイルパス、サイズを書き出す際に連番を出力したい。 例) 1,\\hoge\hoge\aaa.txt 2,\\hoge\hoge\ddd.txt 3,\\hoge\hoge\123.txt 【現在までに試みた方法】 for文の外で「set n=0」。 for文の中で「set /a n=%n%+1」「echo %%n」 【環境】 xp pro version2002 sp2 dosコマンドの変数に関する理解がいまひとつで、よくわかりません。 ご存知の方がいらっしゃいましたらご教示いただけると幸いです。
回答: とりあえず echo %%n がおかしいことは理解できますね? でも, それは措いても遅延展開しないとダメかもしれない. コマンド拡張を有効にして !n! とか.