2012年8月1日水曜日

【備忘録】バッチファイル/ファイル管理/質問

ヨコオタロウの日記-515VQ7Q8V7L.jpg


短い人生は時間の浪費によっていっそう短くなる。
/ サミュエル・ジョンソン



とある事情でバッチファイル作りました。
昨日は「今日の日付を好みのフォーマットでクリップボードに入れる」だけ。内容はだいたいこんな感じ。

----------------------------------------
echo off
set DT=%date%
set MYDATA=%DT:~-8,2%%date:~-5,2%%date:~-2,2%
set /P X=%MYDATA%<NUL>my_tmp_data.txt
clip <my_tmp_data.txt
del my_tmp_data.txt
----------------------------------------

たとえば今日が「2012年8月1日」だったら「120801」って文字列がクリップボードに入るだけです。

「とある事情」っていうのは以下のような流れで。



ふとした事から「他社とやりとりしたデータの管理をどうしているか?」という話になりました。

ということで、まずはグータラな自分のファイル管理方法をご紹介してみたり。



ケースA

ftp なんかの「やりとりするだけのファイルサーバ」の場合。
これは簡単。

 root
  +to_yoko
  +to_monaca
  +to_ilca

こんな感じです。複数の人が見る場合は「誰に向けたファイルか」がハッキリ判ればいいのでこの程度で大丈夫です。

※複数同送を考慮して from_ っていうパターンもありますが、拾われたかどうかが判別出来ずサーバから削除出来ないのであまり良くないです。



ケースB

テキスト・エクセルファイルや、モデルデータなど「複数の人が手を入れる可能性があるもののログを取る場合」

このケースでは会社別にフォルダを分けると問題が出ます。一個のデータをA社とB社がいじった時にA社とB社のフォルダに分散してしまって最新バージョンがどれかわからなくなります。

この場合はプロジェクトと日付単位で管理します

 root
  +プロジェクトA
   |
   +120715_メニュー仕様書_yoko
   |+メニュー仕様書_120715.xls
   |
   +120728_メニュー仕様書_monaca
   |+メニュー仕様書_120728_monaca.xls
   |
   +120728_見積もり_yoko
   |+見積もり.xls
   |
   +120801_メニュー仕様書_yoko
    +メニュー仕様書_120801.xls

えーと、ちょっと判りづらいんですが

フォルダ名は

 日付_書類名_作成者

で管理しています。
とにかく日付でソート出来るようにして、後で修正名が判ればOKという方針で。

また、中に入れるファイル名は適当です。相手から来たファイルがこちらのルールに従った名称では無い可能性があるし、ファイル名が変えられない場合もありますから。

ポイントは階層をあまり深くしない事です。
上の状況だと「メニュー仕様」と「見積もり」の二つのフォルダに分けたくなりますが、一気に視認性が悪くなるのでオススメ出来ません。特にグータラな自分には。



ケースC

仕様書なんかの「後から要素があまり増えない」書類管理はこのようにフォルダ分けしています。

 root
  +プロジェクトA
   +10_2D
   +20_オプション
   +30_コントローラー
   +40_シナリオ
   +50_キャラクター
   +60_BG

内容は適当ですが、最初に番号を振る事でソートを可能にしています。10番おきにしているのは後で間に挟みたくなった時の為です。(35_サウンド
とかを後から入れたり出来るように)

これも階層を深くしない方がいいです。
階層を深くして成功した人を見たことがありません。特にグー(以下略)



ってな感じでファイルを整理しているんですが、ファイル名やフォルダ名にに「120801」みたいな日付を入れる事が非常に多いんですよね。
で、毎回毎回手で入力していたんですが、あまりに面倒なのでクリックするだけで日付がクリップボードに入るようにした……というのが最初のバッチファイルだった訳です。

バッチファイルはひさしぶりだったので、参考にしたのは以下のあたり。


コマンドラインからクリップボードへコピーする
http://www.atmarkit.co.jp/fwin2k/win2ktips/609clipcmd/clipcmd.html

バッチ・ファイル中で日付をファイル名に使用する
http://www.atmarkit.co.jp/fwin2k/win2ktips/419batchdate/batchdate.html

バッチファイルで、ECHO出力で改行なしで出力
http://blog.goo.ne.jp/eaurougejp/e/3a384df6440ce204852cb7c3b7a5fb65


あと、面倒だったのでタスクバーに放り込む方法とかも。

バッチファイルをタスクバーに追加する
http://cats-pajamas.sblo.jp/article/54090294.html



で、最初のバッチファイルなんですが、一度テキストファイルに書き出したりしてあんまりエレガントじゃありません。

本当は clip コマンドにそのまま文字列を渡してやりたいんですが、パイプラインで渡すと何故か文字列の最後に空白が入るんですよね……

面倒なんで諦めちゃったんですが、詳しい人が居たら是非ご教示いただければ。


□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□






















0 件のコメント:

コメントを投稿