あるフォルダに保存された複数のテキストファイルについて、個々をファイル名の末尾に連番をつけて、56KBで分割するということを一括処理する方法を探しています。
具体的には、Janeで収集した2chのdatファイルたちを下記のツールでプレーンテキスト形式に変換し、それをポメラ(DM20)に保存し閲覧したいわけですが、このポメラには1ファイルあたり56KBという制限があるため、上記のような処理が必要となります。
DAT2HTML
http://tatsu01.at.infoseek.co.jp/
環境はWinXPです。自力でWinに移植されたsplitコマンドを使ってバッチファイルを書こうとしました挫折しました。フリーソフトやバッチファイルなど、良い方法があれば教えてください。
まず、splitコマンドでファイルを56Kに分割します
この時、ディレクトリを作り、そこに分割ファイルを作成させるようにします
for %%f in ( *.dat ) do
mkdir _%%f
copy %%f _%%f
split 56k _%%f\%%f
rm _%%f\%%f
# hoge.datの場合、_hoge.dat/を作成し、その配下にxaa, xab ....
# というファイルが作成されます
次にフリーソフトの「Flexible Renamer」を落としてきて
サブフォルダ以下を対象にチェックを付けて
高度なリネームに「\f_????.txt」とすると
_hoge.dat/_hoge.dat_0001.txtとなります
気に入らなければ本ソフトで先頭の「_」や「.dat」を削除できますので
上手くリネームしてみてください。URLは下記です。
複数のテキストファイルについて処理することが本質問の必須要件です。
この要件を満たさない、単一のテキストファイルを分割するソフトは調べてきましたが、そのソフトはどうなんでしょうか?
本要件を満たすなら、ファイルでなく、フォルダやワイルドカードで指定する方法があるはずです。
まず、splitコマンドでファイルを56Kに分割します
この時、ディレクトリを作り、そこに分割ファイルを作成させるようにします
for %%f in ( *.dat ) do
mkdir _%%f
copy %%f _%%f
split 56k _%%f\%%f
rm _%%f\%%f
# hoge.datの場合、_hoge.dat/を作成し、その配下にxaa, xab ....
# というファイルが作成されます
次にフリーソフトの「Flexible Renamer」を落としてきて
サブフォルダ以下を対象にチェックを付けて
高度なリネームに「\f_????.txt」とすると
_hoge.dat/_hoge.dat_0001.txtとなります
気に入らなければ本ソフトで先頭の「_」や「.dat」を削除できますので
上手くリネームしてみてください。URLは下記です。
ありがとうございました。役に立ちました。
教えてもらったプログラムを下記のように改造して、フォルダ名は例のソフトで変更してやっています。
@echo off
for %%f in ( *.txt ) do (
mkdir "%%f"D
split -b 50k "%%f"
ren x* x*.txt
mv "%%f" x*.txt "%%f"D
)
ありがとうございました。役に立ちました。
教えてもらったプログラムを下記のように改造して、フォルダ名は例のソフトで変更してやっています。
@echo off
for %%f in ( *.txt ) do (
mkdir "%%f"D
split -b 50k "%%f"
ren x* x*.txt
mv "%%f" x*.txt "%%f"D
)