右クリックから現在のフォルダに日付フォルダを作成
※レジストリを操作するため慎重に行ってください(不慣れな場合は必ず復元ポイントを作成してからの作業を行ってください)
Windowsのエクスプローラーで右クリック > 新規作成 > 今日の日付フォルタ(YYYYMMDD形式)を作成できるようにします。
後述する方法も合わせて行うと、さらに深い階層も作成できますが、まず現在のフォルダに日付フォルダ(20200906など)を右クリックから作成する方法です。
「ファイル名を指定して実行」で「regedit」と入力してEnter
「HKEY_CLASSES_ROOT」を右クリックし、「新規」 > 「キー」
「Folder.yyyMMdd」と入力します。
この名称はあとで記載する部分と同じであればOKなので好みの名称にします。
右ペインの「既定」を右クリックして「修正」
これが右クリックメニュー(コンテキストメニュー)に表示される名称になるのでお好みで入力してください。
あとで修正したい場合もここを修正すれば希望の名称になります。
今回は「今日の日付フォルダ(YYYYMMDD形式)」としました。
再び「HKEY_CLASSES_ROOT」を右クリックし、「新規」 > 「キー」
今回は「.aaaafolder_yyyyMMdd」としました。
ドット(.)で始まる名称であれば、先の名称と違っても問題ありません。
この名称が右クリックメニューの順番に影響するので、後で追加するメニューより上に表示したい場合は「.0000」や「.aaaa」などソートで先に来る名称で始めてください。
作成した「.aaaafolder_yyyyMMdd」をクリックし、右ペインの「既定」をダブルクリック、「値のデータ」を「Folder.yyyMMdd」とします。
これは最初に作成したキーの名称と同じにします。
今度は作成したキーを右クリックし、「新規」>「キー」とし、「ShellNew」とします。
この名称は固定です。
作成した「ShellNew」をクリックして選択、右ペインで右クリックして「新規」 > 「文字列値」をクリック
「値の名前」は「Command」、「値のデータ」に以下を入力します。
cmd /c md "%1..%%date:~-10,4%%%%date:~-5,2%%%%date:~-2,2%%"
これで完了です。
エクスプローラーで適当なフォルダを開き、右クリックすると「今日の日付フォルダ(YYYYMMDD形式)」が追加されており、選択すると今日の日付でフォルダが作成されます。
親フォルダも同時に作成する(階層+日付)
前記の方法では、現在のフォルダに日付フォルダが作成できましたが、一部修正することで親フォルダも同時に作成できます。
「HKEY_CLASSES_ROOT」に2つのキー、「Folder.yyyMMdd」と「.aaaafolder_yyyyMMdd」を作成しましたが、この名称を違うものにすれば、いくつでも追加登録できます。
先の例では以下のようにフォルダが作成されましたが、
現在のフォルダ └ 20200906
一部修正することで、以下のように現在のフォルダにサブフォルダを作成し、その中に日付フォルダを同時に作成することができます。
現在のフォルダ └ サブフォルダ └ 20200906
さきほど「ShellNew」の「Command」を以下の文字列にしましたが、
cmd /c md "%1..%%date:~-10,4%%%%date:~-5,2%%%%date:~-2,2%%"
「サブフォルダ1」の下に日付フォルダを同時作成する場合は以下のようにします。
「サブフォルダ1」の名称はお好みで変更します。
cmd /c md "%1..サブフォルダ1%%date:~-10,4%%%%date:~-5,2%%%%date:~-2,2%%"
さらに入れ子にする事も可能で、「サブフォルダ1」の下に「サブフォルダ2」を作成、その下に日付フォルダを同時作成する場合は以下のようにします。
cmd /c md "%1..サブフォルダ1サブフォルダ2%%date:~-10,4%%%%date:~-5,2%%%%date:~-2,2%%"
上記はmdコマンド(mkdir)を実行しており、mdコマンドは「」で区切ったパスを渡すと、階層も認識して自動で作成してくれます。
コマンドプロンプトで適当なフォルダに移動し、「md ab」とすると、「a」というフォルダの中に「b」というフォルダが作成されますが、これと同じことです。
実行で簡単に登録(.reg)
いちいち修正するのが面倒くさいという場合は以下をテキストエディタに貼り付け、「xxx.reg」という名称で保存、ダブルクリックで実行すると例と全く同じ状態になります。
例1:現在のフォルダに日付フォルダ作成(ファイル名例:createDateFolder.reg)
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOTFolder.yyyyMMdd] @="今日の日付フォルダ(YYYYMMDD形式)" [HKEY_CLASSES_ROOT.aaaafolder_yyyyMMdd] @="Folder.yyyyMMdd" [HKEY_CLASSES_ROOT.aaaafolder_yyyyMMddShellNew] "Command"="cmd /c md "%1\..\%%date:~-10,4%%%%date:~-5,2%%%%date:~-2,2%%""
例2: 現在のフォルダにサブフォルダ「本体」を作成し、その中に日付フォルダ作成(ファイル名例:createDateFolder2.reg)
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOTFolder.Hontai-yyyyMMdd] @="本体+今日の日付フォルダ(ダウンロード物の保管用フォルダ)" [HKEY_CLASSES_ROOT.aaaa_Hontai_folder_yyyyMMdd] @="Folder.Hontai-yyyyMMdd" [HKEY_CLASSES_ROOT.aaaa_Hontai_folder_yyyyMMddShellNew] "Command"="cmd /c md "%1\..\本体\%%date:~-10,4%%%%date:~-5,2%%%%date:~-2,2%%""
元に戻す場合(追加したメニューを削除)
手動で削除
「HKEY_CLASSES_ROOT」直下に作成したキーを削除するだけです。
他の重要なキーを削除すると不具合が出ますので慎重に行ってください。
削除用の.regで削除
例と同じように操作したか、.reg用の文字列をテキスト保存して実行した場合は以下で削除できます。
同じように「xxx.reg」という名称で保存してダブルクリックで実行します。
例1:現在のフォルダに日付フォルダ作成を削除(ファイル名例:delDateFolder1.reg)
Windows Registry Editor Version 5.00 [-HKEY_CLASSES_ROOTFolder.yyyyMMdd] [-HKEY_CLASSES_ROOT.aaaafolder_yyyyMMdd]
例2: 現在のフォルダにサブフォルダ「本体」を作成し、その中に日付フォルダ作成を削除(ファイル名例:delDateFolder2.reg)
Windows Registry Editor Version 5.00 [-HKEY_CLASSES_ROOTFolder.Hontai-yyyyMMdd] [-HKEY_CLASSES_ROOT.aaaa_Hontai_folder_yyyyMMdd]
コメントフォーム