同様のフォルダを40個作ります。
フォルダの名前は
「3101」
「3102」
「3103」
...
「3137」
「3138」
「3139」
「3140」
です。
簡単に作る方法を教えてください。
下記の内容を「3101」の上のフォルダ上にhoge.batなどのファイル名で保存し,ダブルクリックで実行して下さい。
全部いっきに生成されます。動作確認済み。
@echo off rem forループ内の環境変数を遅延展開する SETLOCAL enabledelayedexpansion rem 2から40まで数値を増減しながらループ for /L %%i in (2, 1, 40) do ( set DIR_NUM=%%i rem カウンター数値を0埋め if %%i LSS 10 ( rem 遅延展開された環境変数は%ではなく!で囲む set DIR_NUM=0!DIR_NUM! ) rem フォルダの名前 set DIR_NAME=31!DIR_NUM! echo !DIR_NAME!を生成します。 rem ディレクトリをコピー xcopy .\3101 .\!DIR_NAME! /e /c /q /y /i > nul rem xcopyのオプション http://www.k-tanaka.net/cmd/xcopy.php rem パスの最後に\は付けない http://ziddy.japan.zdnet.com/qa6056560.html ) ENDLOCAL echo 完了しました。 pause
コーディングのために参考にしたサイト:
BATのforループで,「0埋めされた数値」を連番で出力しよう (環境変数の遅延展開と,数値の大小比較判定の方法) - 主に言語とシステム開発に関して
http://d.hatena.ne.jp/language_and_engineering/20131116/BATLoopNumberIncrementByDelayedExpansion
remとは、プログラムの中に説明文としてコメントを書く、という意味です。プログラムの中身をわかりやすく説明するための備忘録に過ぎませんので、その行を削除しても、プログラムの動作には支障はありません。私の場合、該当部分が正しく動作することの根拠が載っているページのURLなどをコメントに残すことが多いです。そのプログラムが正しく動くことの証明のようなものですね。 その他は、「bat rem」などでググってお調べ下さい。
2013/11/16 12:48:42ありがとうございますm(_ _)m
2013/11/16 23:06:43とても勉強になりました!