[サイトTop] [As/R Top] [ヘルプTop] [戻る]

小ネタ&珍しい機能

※注意
 この記事は、Googleにて「ファイル名 取得」を検索した結果、Dirコマンドを使用する記事、専用のソフト、プログラミング言語ばかりがヒットして、もっと簡単な方法がないの?助けてー!という方のために書かれた内容です。
 (実際に記事執筆時点で、先頭50件にヒットしませんでした)
 今後、検索結果が変化する可能性も、社会情勢的に不適切な内容になる可能性がありますが、ご了承ください。


ファイル名の取得


 資料を作成するときに、特定のフォルダに入っているファイルの一覧をExcelに貼り付けたい・・・といった時の話です。
 他所様のサイトを見ると、コマンドプロンプトを開いてDirコマンド+パイプという技が紹介されています。

 ごめんなさいね。
 正直、そんな古典的な技なんぞやってらんねーよ・・・と思ってます。

 どう考えてもキー押下の数は多くなりがちですし、Dirコマンドだと生成したファイルの中から必要な情報を取り出すのめんどくさいでしょ。
 1,000個ファイルがあって、そのうちの任意の100個を抜き出す、といったミッションが発生したらあまりの手間に絶望しちゃいそうです。

 正規表現でパターン作って・・・とか言い出す人も出てくるでしょうけど、普通の人は正規表現なんて使いこなせません。
 そもそも私も正規表現がスゲェ苦手で、ろくに使いこなせません。(ォィ
 ぶっちゃけ正規表現を使う際には、リファレンスなしでは組めませんしねぇ・・・。

 まぁ、古典手法が悪いわけじゃないんですが、コマンドプロンプトって30年以上前からあるような技をもってこられてもどうかと思うわけでして、もう少し進歩した、上手い方法を紹介してくれているサイトが極めて少ないのは残念なことだと思います。

 というわけで、エクスプローラーでも可能な方法も紹介しておきます。
 対象ファイルを選択して、 Shift キーを押しながら右クリックメニューを表示させます。
 そうすると

 「パスとしてコピー」ってメニュー項目が表示されるんですね。
 (Windows7以降で確認、それ以前は確認してません)

 このコマンドを実行すると、ダブルクォーテーション括りのフルパスで一覧がテキストとしてクリップボードにコピーされます。
 ちなみに、 Shift キーを押しながら右クリックメニューはAs/Rでも使用できます。




 暴言を吐いた義理は果たしたかな・・・、ここからはAs/R専用の機能です。
 まずは、右クリックメニューを拡張したものの中に機能があります。
 メニューの構成が深い!という場合は、テキトーに編集してカスタマイズしてください。



 次に初期状態の T キーに割り当てられているファイル名をクリップボードへコピー機能です。
 メインメニューからは、編集→名前をクリップボードへコピー、でコマンドが実行されます。
 この画面から、色んなファイルの情報も一緒くたに、クリップボードへコピーすることも可能ですし、色んな加工形式を作成することができます。
 作業を繰り返しで行う場合は、 T / Enter だけでサクサク作業を進めていくことができるので、一番ラクかもしれません。
 また作者がスゲェ使う機能なので、色んな加工処理を施した取得ができるようになっています。
 フルパスだったり、相対パスだったり、サイズや、属性、タイムスタンプなどなど、色んな情報をまとめて取得できる・・・んですが、説明が長くなりそうなんで詳細はヘルプを参照してください。



 最後に、出力用のファイルを作っちゃえという発想のもとに用意されているのが「ファイル一覧出力」コマンドでして、メインメニューのファイル→情報→ファイル一覧出力、でコマンドが実行されます。
 まぁ、機能の詳細はヘルプを参照してもらうとして、最初からHTML形式や、CSV、TSVなどの形式でファイルを生成してくれます。




 より上級者向けには、スクリプトのファイル出力コマンドとか、文字列加工コマンドとかでも色々できるんですけど、興味がありましたらどうぞというところです。