フォルダ作成、バッチコーイ

毎月もしくは毎四半期ごとにやってくる業務が私にはある。数種類のファイルが別の拠点や本社(もちろん内部データも)から送られてくる。

私が引き継いだときは、月のフォルダがひとつ、そこに全てが突っ込まれているという状態だった。前任者のスタイルは、「最終版を最後に保存」というもの。

【インボックスゼロ】信奉者(なのに、今年に入ってすでに1,000以上受信箱に積み上がっているのはなんでだ?)の私には、そんな高等な技を使える能力はなく、とりあえず、届いたデータをフォルダに移動させて、メールは【Inbox】フォルダから【DONE】フォルダへ、というスタイル。

私のようなスタイルをとると、とりあえずはメール地獄からは回避出来るものの、ドラフトも最終版もフォルダに入れておくことになってしまうので、フォルダを階層化する必要が出てくる。

例えばあるレポートは以下のような形で整理されている。これは、あくまでサンプルで、実際の業務では、2階層目のフォルダの量はもっと多いものもある。(3階層目は減らす方向で鋭意努力中。)

sample_folders

 

単に月のフォルダを作って終わり、というのに比べるとフォルダの作成作業が増えた分、効率が悪くなったようにも思えるが、後からデータにアクセスすることを考えると、2階層くらい増やすのは、ま、仕方がないように思っている。(前任者が1階層だけで仕事をこなしていたのが本当に信じられない。恐ろしく記憶力のいい、出来る人でした。)

複数のフォルダを作成する(これまでの方法)

前置きが長くなったが、こういうのを毎回作成するのは面倒くさい。ので、私が最初にやったのは「Excelでフォルダ作成のマクロを作る」というもの。というのは言い過ぎで、実際には、2つのExcelマクロを使って対応してた。(一発で作成する方法もある模様。)

作業手順は以下の通り。

  1. 【Ctrl】+【Shift】+【N】を何回か押して、必要なだけフォルダを作成する。
  2. マクロ1でフォルダ名を取得。(→A列に現在(変更前)のフォルダ名を出力)
  3. マクロ2でフォルダ名を変更。(→B列に変更後のフォルダ名を入力(業務内容に応じて作成してあるフォルダ名のリストをコピペ))

 

 

複数フォルダを作成するバッチファイル

これでもそれなりに上手くいっているしいいと思っていたけど、最近、pandocなどでコマンドというのを使っていることもあって、コマンドで私でもできそうな簡単な方法ないかなと。

作ってみました、バッチファイル。やっぱり素人なので、上手くいかない部分もあって、最終的には背伸びをしないやり方を選択したけど、新しいことを学ぶことができたので良しとしておく。

大まかな手順はExcelマクロと同じ。2つのバッチファイルで対応。

  1. 【フォルダリストの作成】以前作成したフォルダの親フォルダにバッチファイルを置いてダブルクリック。
    • dir /ad /b > folderlist.txt
  2. 【フォルダの作成】2つ目のバッチファイルで、1.で作成したリストのフォルダを作成。
    • for /f %%a in (folderlist.txt) do md %%a

 

ほぼ同じ手順だから、これまでと変わりないように思えるけど、ちゃんとモノグサな私仕様になっている。ただ、最初だけ設定しなくちゃいけない。(これも本来はコマンドで一気にできちゃうんだと思うけど、如何せん、知識がないので、今は身の丈にあった方法で。)

階層の浅いフォルダに関しては、上の1.の手順でOK。でも、毎月使ってしかも、サブフォルダも複数設定する必要がある場合には、以下の手順でフォルダリストテンプレを作っておく。

前述の1.【フォルダリストの作成】用バッチファイルで出力されるのは親フォルダのみ。/bの前に/sと入力するとサブフォルダまでリスト化される。但し、これだとフォルダ名だけ取り出されるのではなく、パスが出力されてしまう。なので、出来上がったテキストファイルを開いて、最初の部分を置換で消してしまう一手間が必要。そうやってやっとサブフォルダ付きリストの完成。次月以降は、このサブフォルダ情報付きフォルダリストを用いる。

各方法の違い(体感)

私の試した方法はこれで3つ。

  1. 全て手作業でフォルダを作成
  2. Excelマクロでフォルダを作成
  3. バッチファイルでフォルダを作成

1.と2.の差が量にもよりけりだけど、15〜30分だとすると、2.と3.の差は5〜10分程度にすぎないかもしれない。(注:あくまで体感。実測はしていない。)この作業は、単純作業で引継ぎに失敗する話でもないので、とりあえず当面は個人的にバッチファイルで対応していく。

Advertisements