見出し画像

「連番のファイルを一括で作りたい。」そんな時に作成するバッチファイルの 作成方法(コマンドプロンプト使用)

配属から丁度2ヵ月が過ぎ、仕事も徐々に任せてもらえてきたが、知らないことばかりや新しいことの毎日で「やってみます。」の日々です。

最近、「知りません」「知らなかったです」では、社会人は通用しないことをつくづく実感させられる。

そんな時に、頼まれた業務は、不具合を検証するためにファイルを1000個以上使って行うものであった。もちろんバッチファイルなんて、趣味でもあまり作る機会などなく、「調べてから作ります!」の2つ返事であった。

皆さんのお陰で、いろいろなコマンドを参考にしてなんとか作ることに成功した。しかし、求められていたバッチファイルではなく、泣く泣く修正することになったが、折角作ったので、いずれ使うかもしれない人々のため、自分のためにも以下に手順を書き記していこうと思う。

手順は至って簡単であるが、基礎知識が必要となる。その辺りは、このインターネットにどこでも落ちているので割愛させてもらう。


連番ファイルが2桁(0~99)までのバッチファイル

@echo off

set /p filename="ファイル名:"
set /p number="ファイル数:"

setlocal enabledelayedexpansion

for /l %%i in (1,1,%number%) do (
 set num=0%%i
 set num=!num:~-2,2!
 type nul > %filename%!num!
)

endlocal

このコードをメモ帳やサクラエディタなどに張り付け、あとは保存先の拡張子を「.bat」(バッチファイル)をつけて、作成したいフォルダで実行するのみである。

連番ファイルが3桁(0~999)までのバッチファイル

@echo off

set /p filename="ファイル名:"
set /p number="ファイル数:"

setlocal enabledelayedexpansion

for /l %%i in (1,1,%number%) do(
 set num=00%%i
 set num=!num:~-3,3!
 type nul > %filename%!num!
)

endlocal

もうお気づきの通り、後半のsetの行で「0」の追加と一つ下の行の「~-3,3!」となっていますね。この理屈さえ理解できれば、4桁、5桁、、、といくらでも作成することは理論上可能です。
最後に4桁のコードを書きたいと思います。

コードの意味はまた次回書きます。。。。
流石に今日は疲れたのでまた後日赤入れします。

連番ファイルが4桁(0~9999)までのバッチファイル

@echo off

set /p filename="ファイル名:"
set /p number="ファイル数:"

setlocal enabledelayedexpansiopn

for /l %%i in (1,1,%number%) do (
 set num=000%%i
 set num=!num:~-4,4!
 type nul > %filename%!num!
)

endlocal

以上です。cmdは優秀ですね。

この記事が気に入ったらサポートをしてみませんか?