MacやWindowsのコマンド操作でパソコン内から目的のファイルを素早く見つける方法
パソコン作業の中で業務に必要なファイルをどこに置いたか忘れてしまった時は、膨大なフォルダや階層から目的のファイルを探すことはけっこう時間がかかります。
また、これから必要なファイルを探すにあたりフォルダやファイル名を忘れてしまった時は大変です。
そんな時に使えるのがコマンド操作です。
Macではターミナル、Windowsでコマンドプロンプトというアプリケーションを使って、パソコン内の検索を行います。
一般の方には難しそうなイメージがありますが、一つ二つのコマンドを覚えるだけですのですぐに慣れるかと思います。
多くの企業ではWindowsをお使いですし、デザインやプログラミングをよくされる方の多くはMacを使われるので、MacとWindowsの両方のコマンド操作を説明します。
一つ一つフォルダの中を見ていくなんて大変な作業ですよね。
それでは検索方法を見ていきましょう。
Macでのファイル検索
ターミナルというアプリケーションを使います。
Macではファイル検索ができるfindやlocateといったコマンドがあります。
ですが、ちょっとしたデメリットが。
findコマンドは検索オプションは多いが速度が遅い。
locateコマンドは作成したデータベースを元に検索するので、まずデータベースの作成をしないといけないので一般の方には???です。
そこで便利な「mdfindコマンド」を使います。
こちらもデータベースから検索をかけているのですが、MacのSpotlightでも使うデータベースを利用します。
またSpotlightのデーモンによってデータベースはバックグラウンドで常に更新されるので手動更新をする必要がなくそのままmdfindコマンドで検索をかければ良いです。
要するにmdfindコマンドは、Macの標準のコマンドでSpotlight検索のCUI版ですかね。
「mdfind -name sample」でsampleの文字列が入っているファイルやディレクトリをrootディレクトリから検索します。
「-name」などのオプションがない場合は、指定した文字列が入っているファイルやディレクトリの他、ファイル内のテキストやソースコードといったところまで細かく検索することができます。
例えば、「リレーショナルデータベース管理システム」という文言が入っているものを、ファイル内を含め検索してみます。
テキストファイルからWordやPowerPointのファイルまで、ファイル内の文言も検索されて教えてくれます。
目的のファイルを探す際にディレクトリやファイル名をよく覚えていなくても、どのような内容だったかだけうっすら覚えているのであれば文言で検索すれば良いですね。
他にも探すファイルの場所がだいたい絞れているのであれば、指定したディレクトリから検索をかけることもできます。
mdfind -onlyin {パス}
例えば、ドキュメントフォルダからPDFファイルを検索するには以下のようなコマンドになります。
mdfind -onlyin ~/Documents -name pdf
また「-live」オプションを使うことで常にフォルダを監視してくれて更新があったら知らせてくれます。
mdfind -live -onlyin ~/Documents -name pdf
ドキュメントフォルダのどこかにPDFファイルを追加すると、「Query update: 2 matches」みたいにファイルが増えたことを知らせてくれます。
「control + C」で一旦コマンドを停止してからもう一度検索をかけてみると増えたファイルが確認できます。
ディレクトリのパスの部分はキーボード入力が面倒でしたら、フォルダをターミナルにドラッグ&ドロップすると早いです。
mdfindコマンドを使わなくてもSpotlight検索使えばファイルにはたどり着けますが、ディレクトリまで詳しく知るにはコマンド操作で調べたほうがいいです。
Windowsでのファイル検索
Windowsではコマンドプロンプトを使います。
ファイルを検索するには「whereコマンド」を使います。
例)
where /r C:¥Users¥{username} *.pdf
アスタリスク「*」はワイルド・カードを言われるもので任意の文字列を意味しますので、すべてのファイルを探し出します。
以下のコマンドは、「デスクトップのディレクトリからすべてのPDFファイルを検索する」という意味になります。
where /r C:¥Users¥{username}¥Desctop *.pdf
ドキュメントフォルダやドロップボックスも含めるとなると、Cドライブやその下のUsersフォルダから検索をかけると良いでしょう。
whereコマンドではフォルダやファイルを探すことはできますが、ファイル内のテキストまでは検索できません。
ファイル名等が思い出せない場合はテキストの内容で検索をかけたいので、「findstrコマンド」を使います。
findstrコマンドは、文字列を検索することができるコマンドです。
オプションはたくさんありますが、「/S」は現在のディレクトリとすべてのサブディレクトリから一致するファイルを検索します。
ディレクトリの移動はcdコマンドを使って「cd {パス}」のように打って移動してください。
最後のアスタリスクはすべてを意味します。
findstr /S “検索する文字列” ./*
オプションは小文字でも動きます。
また、「findstr /?」と打つといろんな検索オプションが確認できます。
「/?」はどのコマンドでも使い方の説明を表示してくれます。
大文字と小文字を区別しないで検索したいときは、オプションを併用して使うこともできます。
findstr /S /I “検索する文字列” ./*
Windowsユーザーは、whereコマンドとfindstrコマンドの2つをうまく使いこなしてもらえばと思います。
もしファイルの置き場所を忘れてしまったときは、今回ご紹介したコマンドを使ってみてください。
一つ一つフォルダを探っていくよりも早く見つけることができます。