右クリックで新規ファイル(拡張子なし)を作成する方法
右クリックしたときに、ファイルを新規作成というメニューを追加して、拡張子なしのファイルを作成できるようにできますか?
ChatGPT:
はい、可能です 👍
Windows では 右クリックメニュー(コンテキストメニュー) をレジストリに登録することで「新規作成 → 拡張子なしファイル」を追加できます。
手順(例:空の拡張子なしファイルを作成する)
レジストリエディタを開く
Win + R → regedit → Enter
以下のキーを探す(新規作成メニューに関わる場所):
HKEY_CLASSES_ROOT\.空ファイル
もし存在しなければ 新規 → キー を作成してください。
(ここでは仮に .空ファイル という拡張子っぽい名前を使いますが、実際には 拡張子なし にしたいので特殊処理をします)
次に以下のキーを作成します:
HKEY_CLASSES_ROOT\.空ファイル\ShellNew
ShellNew の中に 新しい文字列値 を作り、名前を NullFile とします。値は空欄でOK。
→ これで「右クリック → 新規作成」に「空ファイル」が出るようになります。
ただし通常は拡張子が必要なので、「.txt」とかになります。拡張子なしを作りたい場合は、以下の方法を使います。
拡張子なしファイルを作る方法
Windows標準の「新規作成」では拡張子なしは作れません。
そこで次のような方法を使います。
方法1:バッチファイル経由
C:\Tools\CreateEmptyFile.bat のようなバッチを作成:
@echo off
setlocal
set "folder=%1"
cd /d "%folder%"
type nul > "新しいファイル"
endlocal
これで引数のフォルダに「新しいファイル」が作られます。
レジストリに追加:
HKEY_CLASSES_ROOT\Directory\Background\shell\新規作成(拡張子なし)\command
値:
C:\Tools\CreateEmptyFile.bat "%V"
→ フォルダの右クリック → 「新規作成(拡張子なし)」で拡張子なしのファイルができます。
方法2:PowerShellを呼び出す
レジストリの command に直接こう書く:
powershell -Command "New-Item -Path '%V\新しいファイル' -ItemType File"
まとめ
Windows標準の「新規作成」メニューは基本的に拡張子付き。
拡張子なしを作りたいなら バッチ or PowerShell を右クリックメニューに登録するのが確実。
👉 ご希望は「右クリック → 新規作成 → 拡張子なし」だけに追加したいですか?
それとも「右クリックメニューに直接(上位階層に)」追加したいですか?
あなた:
ChatGPT:
今ちょうどレジストリエディタを開いている画面ですね。拡張子の一覧が並んでいる場所(HKEY_CLASSES_ROOT 配下)です。ここを直接編集しても「拡張子なしファイル」は作れません。
Windows の「新規作成」メニューは必ず拡張子を持つ形式で管理されているため、拡張子なしは標準のやり方では登録できないんです。
解決方法(拡張子なしファイルを作る右クリックメニュー)
1. バッチファイルを作成
まず「新しいファイル」を作るためのバッチを用意します。例:
@echo off
setlocal
set "folder=%1"
cd /d "%folder%"
type nul > "新しいファイル"
endlocal
名前を CreateEmptyFile.bat として保存し、たとえば C:\Tools に置いてください。
2. レジストリに追加
今度は「フォルダの右クリック → 新規作成(拡張子なし)」を追加します。
レジストリエディタで以下へ移動:
HKEY_CLASSES_ROOT\Directory\Background\shell
shell の下に 「新規作成(拡張子なし)」 というキーを作成。
さらにその下に command というキーを作成。
command の「(既定)」の値に以下を入力:
C:\Tools\CreateEmptyFile.bat "%V"
3. 使い方
エクスプローラーでフォルダを右クリックすると「新規作成(拡張子なし)」が表示され、クリックするとそのフォルダに「新しいファイル」という拡張子なしファイルが作られます。
✅ これで「拡張子なしファイル」を作れるようになります。
質問ですが、あなたの希望は 「新規作成」サブメニューの中に入れる形 ですか?
それとも 右クリックの一番上の階層に直接出したい ですか?
あなた:
ChatGPT:
いい場所を開けていますね 👍
今「HKEY_CLASSES_ROOT\Directory」の中を見ている状態です。ここに Background\shell を追加すると、フォルダ内の余白を右クリックしたときにメニューが出せます。
手順(右クリック → 「新規作成(拡張子なし)」を追加)
レジストリエディタで以下の場所に移動します:
HKEY_CLASSES_ROOT\Directory\Background\shell
※Background がまだ無ければ、新規 → キーで作成してください。
shell の下に 「新規作成(拡張子なし)」 というキーを新規作成します。
さらにその下に command というキーを作成します。
command の「(既定)」の値に以下を入力します:
PowerShellを使う場合(簡単)
powershell -Command "New-Item -Path '%V\新しいファイル' -ItemType File"
バッチファイルを作って呼び出す場合(拡張性あり)
C:\Tools\CreateEmptyFile.bat "%V"
(※ %V は「クリックしたフォルダのパス」に展開されます)
これでできること
エクスプローラーのフォルダ内余白で右クリックすると
→「新規作成(拡張子なし)」という項目が表示されます。
クリックすると、そのフォルダに 拡張子なしの「新しいファイル」 が作成されます。
👉 確認ですが、この「新規作成」は 通常の「新規作成」サブメニューの中に入れたいですか?
それとも 右クリックのトップ階層に独立して表示したいですか?
あなた:
もっと上の方に出るようにできますか?
ChatGPT:
いいですね!スクショを見ると「新規作成(拡張子なし)」が 下の方 に出ていますね。
これはレジストリのキーの位置によって表示順が変わるためです。
上の方に表示させる方法
方法1:メニュー名の先頭に「!」や「#」を付ける
Windowsは アルファベット順/記号順 で並べるので、例えばキー名を
!新規作成(拡張子なし)
とすると、上の方に来やすくなります。
(! や _ を付けるとほぼ先頭に来ます)
方法2:Position 値を使う
HKEY_CLASSES_ROOT\Directory\Background\shell\新規作成(拡張子なし) に 文字列値 (REG_SZ) を作成して、名前を
Position
にします。
値に以下のいずれかを設定できます:
Top → メニューの一番上
Bottom → 一番下
Middle → 真ん中
例:
Position = Top
これで確実に上の方に表示されます。
方法3:サブメニュー化せず独立させる
今は「新規作成(W)」のすぐ上に入ってますが、shell 直下に置いたので独立しています。
そのままでも良いですが、Position指定でよりコントロールできます。
おすすめ
一番シンプルなのは 方法2の Position=Top を設定する方法です。
👉 どちらにしますか?「!を付けて先頭へ」か「Position=Top」で固定か。
コメント