jeyseni's diary

「ジェイセニ」と呼んでください。批判ではなく提案をするのが生き甲斐です。

Windowsの「最近使ったフォルダが使えない」不満を強引な方法で解決--筆者の個人メモです

 パソコン作業でいつもイラつくのが,ファイルを保存するとき,「保存したいフォルダになかなか到達できない」ことである。

 新規ファイルを作ったり,既存のファイルを開いたりしたあと,「新規保存」あるいは「名前を付けて保存」とすると,たいていは見知らぬフォルダが開く。元のファイルのあったフォルダに別名で保尊したいのに,またそのフォルダを指定しなければならない。それも結局は,仕事で使う最上位のフォルダから順に開いていかないと到達しない。

 仕事のテーマごとに複数の上位フォルダをあらかじめWindowsExplorer標準機能である「クイックアクセス」にピン止めすることで,かなりの場合は開く階層数を限定できる。しかし,ソフトによっては保存時に独自ダイアログが開くため,クイックアクセスが使えないこともある。

 Explorerで開いたフォルダは,最近開いたフォルダとしてこのクイックアクセスに表示されるのだが,ソフトから開いた場合は表示されないことが多い。期待してクイックアクセスを見ても見つからないことが多く,いつも期待外れさせられていた。

 やや強引だが,1つのソリューションができたので,ここにまとめておくことにした。人によっては「ゴミができる」と思われるかもしれない。

 「最近使ったフォルダ」の中身を「ShortcutFolder」といった名前のフォルダにコピーする。

 Windows10から,Windowsの標準機能として「最近使ったフォルダ」というのが表示されなくなった。そもそもこれが,筆者にとってのつまづきの最初だった。

 これに対してはShellの機能を使って強引に表示させる方法が紹介されている。[Win10] 最近使ったフォルダーを表示する | プレゼンステーション (presenstation.com) (http://www.presenstation.com/blog/memo/2620 筆者もこれらの書き込みを参考にして,「最近使ったフォルダ」を表示させた。

 ところが,これは「フォルダの顔をしているがフォルダではない」のである。つまり,最近使ったフォルダのリンクが見えているだけで,クリックすればたしかにそのフォルダに飛べるのだが,「このフォルダの中身の一覧がほしい」と思っても使えない。

 ファイラー(ファイルのコピーをしたりするソフト)では,この“最近使ったフォルダ”を表示することすらできない。せっかくのフォルダが“フォルダ”ではない。

 分析してみると,この「最近使ったフォルダ」は,以下のリンクを表示していることが分かった C:\Users\USERNAME\AppData\Roaming\Microsoft\Windows\Recent\ (「USERNAME」は各ユーザー名)。

 そこで,このフォルダの中身を,筆者がアプローチしやすい特定のフォルダに「すべてのショートカットを作成する」という操作をすると,普通のフォルダと普通のショートカットとして使えるようになり,どんなソフトのダイアログでも使えるようになる。

 このコピー操作は,Windows,いやそのさらに下部にあるDOSコマンドレベルで簡単に実現できた。いわゆる「バッチファイル(.bat)」である。筆者の場合,

copy /y C:\Users\USERNAME\AppData\Roaming\Microsoft\Windows\Recent\*.* C:\Users\USERNAME\Desktop\0DTshortcuts\recentFF

という中身の.batファイルを作った。/yオプションは,同じファイル名を上書きするためである。

 このバッチファイルを定期的に起動すれば,まさに最近使ったファイルやフォルダのショートカットファイルが,指定のフォルダの中に作成される。作成日の新しい順にソートすれば,指定のフォルダなどにすぐにたどりつくことができる。

 ところが,定期的な起動を忘れると,直前に作業をしたフォルダのショートカットが登録されていない。ソフトの保存ダイアログまで行って初めて気がつく。いったんExplorerでデスクトップを表示し,バッチファイルを動かしてショートカットをコピーし,またソフトに戻る,という操作が面倒だった。タスクバーにバッチファイルが登録できればよかったのだが,タスクバーにはexeファイルしかピン留めできない。

 そこで,batファイルをexeファイルにするというテクニックを使った。(batファイルをexeファイルに変換--フリーの情報提供に感謝 - jeyseni's diary (hatenablog.com) 2023/7/21)。Windows標準のiExpressというコマンドでexeファイルに変換する。

 あとはこのexeファイルを,タスクバーにピン留めする。タスクバーは常に表示されているため,いつでもこのショートカットコピー操作を動かすことができる。

 まあ,面倒な手順なので,オススメはしないが,手元の仕組みだけで実現できることを記録として残すことにした。