テキストファイル内の文字列でファイル管
No.31811
o_hiro
さん 12/11/27 14:17
よろしくお願いします。
秀丸エディタで、一行につきひとつの商品名を入力。
1つのテキストファイルで、1,000行(1,000商品名)が書かれたファイルがあります。
これとは別に、商品名を筆頭に枝番をつけたファイルが2,000個。
これはひとつのフォルダに入っています。
テキストファイル内に書かれた商品名のつくファイルを、上記フォルダから別フォル
ダに移動したいのですが、こういうことは可能でしょうか?
[
△
]
RE:31811 テキストファイル内の文字列でフ
No.31813
秀丸担当
さん 12/11/27 15:55
マクロを作れば、プログラムを組むようにしていろいろできると思います。
プログラムを組むという点では秀丸マクロでなくてもvbsを書くなど、いろいろ
方法はあると思います。
1つ思いついた簡単な方法としては、バッチファイルのように書き換えて保存す
ると、プログラミングしなくても簡単にできそうです。
例えば以下のテキストがあったとします。
商品A
商品B
商品C
これを元に、先頭と末尾に記述を追加して、以下のように書き換えます。
copy c:\コピー元\商品A*.* c:\コピー先
copy c:\コピー元\商品B*.* c:\コピー先
copy c:\コピー元\商品C*.* c:\コピー先
そして、名前を付けて保存で、例えばtest.batという名前で保存します。
そして、エクスプローラからtest.batをダブルクリックして実行すると、コピー
されます。
コピーではなく移動の場合は「copy」の部分を「move」にするといいです。
拡張子がある場合は*.*の部分を*.txtなどにするといいです。
バッチファイルのように一発で書き換えるのは、正規表現を使った置換で一発で
やる方法があります。
置換ダイアログで、
検索文字列:^(.+)
置換文字列:copy c:\\コピー元\\\1*.* c:\\コピー先
正規表現をON
として全置換すると一発でできます。
でも正規表現を考えるのも難しいとすると、キー操作の記録と再生が便利です。
以下のような感じで1行分の書き換えのの操作を記録します。
1.「商品A」の行頭にカーソルをもっていく。
2.Shift+F1で記録開始する。(標準のキー割り当ての場合)
3.入力したり、Endキーで行末に移動してさらに入力して、
「copy c:\コピー元\商品A*.* c:\コピー先」というように書き換える。
4.Homeキーで行頭に移動したり、↓キーで次の行に移動したりして、
「商品B」の行頭にカーソルを合わせる。
5.Shift+F1で記録終了する。(標準のキー割り当ての場合)
こうやって記録しておくと、あとは、Shift+F2(標準のキー割り当ての場合)を
押しっぱなしにすると、記録した操作を何度も再生できます。
[
△
]
RE:31813 テキストファイル内の文字列でフ
No.31814
o_hiro
さん 12/11/27 17:13
秀丸担当 さん、ありがとうございます。
最初のバッチファイルでうまくいきました。
移動元のファイル名は、商品名そのものではなく連番がついてきているものもあった
ので心配でしたが、問題なく移動してくれました。
本当にありがとうございました。
[
△
]