[ 新規に投稿する ]

複数のファイルに対して同じ処理を適用するマクロNo.08646
dmc さん 18/03/19 01:49 [ コメントを投稿する ]
あるフォルダ内の全テキストファイルに対して、同一のマクロを適用整形して、結果を一つのファイルに纏めるマクロを作ろうとしています。

全体制御マクロA.mac
一つのファイル整形マクロB.mac
対象の.txtファイル群

これらを一つのフォルダに置いて、A.macを実行すると結果ファイルが出来上がるという形を目指しています。
B.macは完成済みです。

全体制御マクロA.macを作るにあたって、鍵となるポイントやコマンドなどをアドバイスお願いできないでしょうか。
[ ]
RE:08646 複数のファイルに対して同じ処理を適用するマクロNo.08648
Iranoan さん 18/03/19 03:05 [ コメントを投稿する ]
  dmcさん今日は、Iranoan です
> あるフォルダ内の全テキストファイルに対して、同一のマクロを適用整形して、結果を一つのファイルに纏めるマクロを作ろうとしています。
昔作ったなあ〜、とおもい
> 複数ファイルにマクロ実行 Ver.1.07
> 開いている全てのファイル、若しくは特定のフォルダにあるファイルに対して、任意のマクロを纏めて実行します
> http://iranoan.my.coocan.jp/hidemaru/macro.htm#BATCH
が使えませんかね
最近秀丸自体を使っていないので、最新版の秀丸では確認していませんが

> 全体制御マクロA.macを作るにあたって、鍵となるポイントやコマンドなどをアドバイスお願いできないでしょうか。
ファイルに一文字でも含まれていたら、grep でリストが出来るので、あとはその結果から書くファイルを開いてやって、目的のファイルを処理してやれば良いと思います
問題になりそうなのは、
・マクロ B で例外処理などでカバーされていない問題がないか?
・処理するファイルで
  * 文字コードをご認識して開いた時はどうするか?
  * すでに開いていた時ははいた背魚をどうするか?
あたりでしょうか
[ ]
RE:08648 複数のファイルに対して同じ処理を適用するマクロNo.08649
dmc さん 18/03/20 15:46 [ コメントを投稿する ]
Iranoan さんアドバイスありがとうございます
返信が遅れてすみませんでした。

よく考えたら整形する前のテキストファイル群をコマンドプロンプトで連結
して一個のファイルにしてから処理すれば良い事に気づき、新たなマクロを作らずに済みました。
copy aaa.txt + bbb.txt + ccc.txt all.txt
元ファイルが30個ほどでしたが一行で処理できました

・・・・・・
もしマクロでやるとしたら
処理するファイルリストを作成or取得
新規秀丸を開きこれを出力ファイルとする
リストを元に1ファイルづつ開きexecmacro で個別処理実行
コピーして出力ファイルにペースト
秀丸の切替はsetactivehidemaru
各秀丸のハンドラ取得は findhidemaru($$fname);
このような要素で作れそうですね

[ ]

[ 新規に投稿する ]