(株)アウトソーシングテクノロジーの神谷と申します。普段はAWSだとかゼロトラストセキュリティだとか、様々な新しい技術のお仕事をしています。
でもね……
超初心者向け記事がデイリーランキング入り
ネタが無くて苦し紛れに投稿した記事 Windowsでファイル一覧を簡単に取得する がデイリーランキングに入りました。
こういう、入門者向け小ネタみたいなものにも需要があるのだなぁ、と思い知りました。
ので、今日はもうちょっと発展させて「超楽にファイルを整理する」やり方の基礎の基礎をやってみます。
いや、本当に**頭を使わずに(超重要)**楽~にファイルをアレコレする裏技でございます。
難しいことは文明の利器(エクセル)にやってもらう
いやーエクセルってクッソ便利なんですよ。
ということで、簡単に超らくちんにエクセルを絡めて何かやっちまおうぜっていうのが今回の記事です。正規表現なんてクソ面倒な事、やってられないんじゃあああ!!!
基本はmove(タグ)ファイル名A(タグ)ファイル名B
A列にひたすらmoveという文字列。B列に今のファイル名一覧、C列に加工後のファイル名一覧。
こういう状況が作れれば、あとはA列B列C列をコピーして、テキストファイルにペーストして、拡張子をbatに変換してダブルクリックしてやれば、ファイル名をらくらく操作できるのは前回お伝えしたとおりです。
ここで、更に一歩踏み込みましょう。
決められたファイルだけをmoveする
今、とりあえずA列にmoveと書いて、B列にファイル一覧をコピペしたものを容易しました。
C2に、以下のように記載します。
="m_"&C2
するとこうなります。
どうだすごいだろう!で、C2をコピーしてC列全体にペーストしてやると……
C列の全てが、「m_元ファイル名」に変わります。これで更にフィルタリングをかけてあげたりできます。
こうすれば
「肩の描き方の講座ファイルだけをリネームする」
という事が超簡単に出来るわけです。
更に発展させる
繰り返し書きますが、同じ事をしたいなら、正規表現を使えば出来ます。でもね、そんなの誰にでも出来る事じゃないんだよ。これなら誰にでも出来るんだよ。
楽にやりたいんだよ、楽に。
という事で、ちょい応用問題。
1.jpg
10.jpg
11.jpg
:
19.jpg
2.jpg
20.jpg
21.jpg
:
こんな糞フォルダを、
0001.jpg
0010.jpg
0011.jpg
:
0019.jpg
0002.jpg
0020.jpg
0021.jpg
:
とかに簡単にやれる方法です。
まず、A列は相変わらず全部moveでいいです。B列も、今のファイル一覧を貼り付けてくれればオッケー。
C列をどう作るか?です。
まず、C2に以下を入力します。
=int(LEFT(B2,LEN(B2)-4))
すると……
取れた!JPGが取れた!
次に、桁数を合わせましょう。
C列を選択して右クリック→セルの書式選択です
ユーザー定義の種類に0000".jpg"と書きましょう。
どーん!どうだ!あとはA列B列C列をテキストファイルにコピペして、そのファイルの拡張子をbatに変更してダブルクリックするだけで、全部のファイルが順番通りに並んでくれます。
同じこと、もっと簡単に出来る方法あるぜー
……なんて思ってるかた、甘い。甘いです。
我々がやりたいのは「頭を使わないでいろいろやる」です。そしてこれは、エクセルをある程度使いこなせる人間であれば、何だって出来るんじゃないかと思わせるだけの可能性を秘めた技の、ごくごく基本的な技なのです。
例えばエクセルのフィルタ機能を使ってリネームするファイルを絞ったりだとか、関数を使ってもっと変な変換条件をつけたりだとか。ここから見える可能性は無限大なのです。
そして、何より、エクセルさえあれば出来てしまう、というのが大きいです。コンパイラやらrubyやらを実行させてくれるような職場、なかなかありませんからね。
最後に
よっし、これで1年間でqiita投稿10件というノルマはクリアだぜ。1件デイリーランキング入りしたのだから、給料アップしろって言えるのだぜ。頑張るなのだぜ。応援お願いするぜ。なのだ。