2012年8月2日木曜日

連番のテキストファイルを簡単に生成するには?!

たとえば、Osakaというフォルダに、Osaka001、Osaka002、Osaka003・・・・・と連番でテキストファイル(TXTファイル)を作りたいとき、面倒なことが、2つあります。

* 面倒その一:言うまでもなく、Osakaというフォルダを作らなければいけない面倒。
* 面倒その二:言うまでもなく、Osakaというフォルダが存在したとして、その下に何個のファイルが今存在しているのか、分からないのでイチイチフォルダを開けて、確認してからファイルを生成しなければいけない面倒。

この2つの面倒を一挙に解決して処理するのが、下のバッチファイルです。
set /p dire=ディレクトリの名前 :
if not exist %dire% md %dire%
まずここ処理したいディレクトリの名前を決定します。
もしも該当のディレクトリがない場合、ディレクトリを生成します。

set count=1
for %%a in (%dire%\txt\*.txt) do (
set /a count+=1)
if !count! leq 99 (
if !count! leq 9 (
set num=00!count!) else (
set num=0!count!)) else (
set num=!count!)

ここで処理対象のディレクトリのなかに何個既にファイルが存在しているかを数えます。そして、新規に生成するテキストファイルに当てる連番の番号を決定し、三桁に変換します。

copy nul %dire%\%fname%
start "" "%dire%\%fname%"

処理対象のディレクトリの中に決定した連番を当てたTXTファイルを生成します。


@echo off
setlocal enabledelayedexpansion

set /p dire=ディレクトリの名前 :
if not exist %dire% md %dire%

set count=1
for %%a in (%dire%\txt\*.txt) do (
set /a count+=1)
if !count! leq 99 (
if !count! leq 9 (
set num=00!count!) else (
set num=0!count!)) else (
set num=!count!)
set fname=%dire%!num!.txt
copy nul %dire%\%fname%
start "" "%dire%\%fname%"
pause


このバッチファイルの使い方:
1:上の太文字部分を全てコピーして、テキストファイル(メモ帳)に貼り付ける。
2:TXTFileMaker.batとして保存する。
3:ディレクトリを作成したい場所に置く。*例えば、上の例で、My DocumentsにOsakaというディレクトリを生成したい場合は、My DocumentsにTXTFileMaker.batを置く。


0 件のコメント:

コメントを投稿