如何定制Windows系统右键菜单
今天心血来潮把几个自己常用的工具定制到了系统的右键菜单。包括notepad++,7zip,还有复制文件全路径和文件夹路径。下面简单介绍一下步骤。
1. Windows系统右键菜单对应的注册表位置
Windows系统的右键菜单对应着如下的注册表位置。
1)所有文件的右键菜单:
2)所有目录的右键菜单:
2.添加自己定制的右键菜单
1)如下的代码存为.reg文件,双击就能把注册表键值导入到注册表中。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\Notepad++] @="Notepad++" "Icon"="...\\notepad++ico.ico" "Position"="Middle" [HKEY_CLASSES_ROOT\*\shell\Notepad++\command] @="\"...\\notepad++.exe\" \"%1\"" [HKEY_CLASSES_ROOT\*\shell\7zip] @="7zip" "Icon"="...\\7zipico.ico" "Position"="Middle" [HKEY_CLASSES_ROOT\*\shell\7zip\Command] @="\"...\\7z.exe\" a \"%1\".zip \"%1\"" [HKEY_CLASSES_ROOT\Directory\shell\7zip] @="7zip" "Icon"="...\\7zipico.ico" "Position"="Middle" [HKEY_CLASSES_ROOT\Directory\shell\7zip\command] @="\"...\\7z.exe\" a \"%1\".zip \"%1\"" [HKEY_CLASSES_ROOT\*\shell\CopyFileFullName] @="Copy File FullName" "Icon"="...\\fullpath.ico" "Position"="Middle" [HKEY_CLASSES_ROOT\*\shell\CopyFileFullName\Command] @="...\\copyfullname.bat \"%1\"" [HKEY_CLASSES_ROOT\*\shell\CopyFileName] @="Copy File Name" "Icon"="...\\name.ico" "Position"="Middle" [HKEY_CLASSES_ROOT\*\shell\CopyFileName\Command] @="...\\copyname.bat \"%1\"" [HKEY_CLASSES_ROOT\*\shell\CopyFolderName] @="Copy Folder Name" "Icon"="...\\folder.ico" "Position"="Middle" [HKEY_CLASSES_ROOT\*\shell\CopyFolderName\Command] @="...\\copyfolder.bat \"%1\"" [HKEY_CLASSES_ROOT\Directory\shell\CopyFolderName] @="Copy Folder Name" "Icon"="...\\folder.ico" "Position"="Middle" [HKEY_CLASSES_ROOT\Directory\shell\CopyFolderName\command] @="...\\copyname.bat \"%1\"" |
2)如下的代码是删除上面添加这些注册表键值。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Windows Registry Editor Version 5.00 [-HKEY_CLASSES_ROOT\*\shell\Notepad++] [-HKEY_CLASSES_ROOT\*\shell\7zip] [-HKEY_CLASSES_ROOT\Directory\shell\7zip] [-HKEY_CLASSES_ROOT\*\shell\CopyFileFullName] [-HKEY_CLASSES_ROOT\*\shell\CopyFileName] [-HKEY_CLASSES_ROOT\*\shell\CopyFolderName] [-HKEY_CLASSES_ROOT\Directory\shell\CopyFolderName] |
3)简单说明
其实就是把当前的文件或者文件夹作为参数(%1)传给你需要的应用。各个应用的命令行参数可以自己去查帮助。比如我的7zip使用的是压缩命令,命令行参数就是
1 |
7z.exe a “%1".zip "%1"
|
把当前文件或者文件夹放入名为文件(夹)名加上.zip的压缩包中。
关于复制文件名和文件夹名的命令,我是用了如下的bat文件,分别存在了copyfullname.bat
1 2 |
@echo off echo %~1 | clip |
copyname.bat
1 2 |
@echo off echo %~nx1 | clip |
copyfolder.bat三个bat中。
1 2 |
@echo off echo %~dp1 | clip |
其实就是把当前参数放进了剪切板里。
下面列举了关于%1的一些常见用法。
%~1 - 删除引号("),扩充 %1
%~f1 - 将 %1 扩充到一个完全合格的路径名
%~d1 - 仅将 %1 扩充到一个驱动器号
%~p1 - 仅将 %1 扩充到一个路径
%~n1 - 仅将 %1 扩充到一个文件名
%~x1 - 仅将 %1 扩充到一个文件扩展名
%~s1 - 扩充的路径指含有短名
%~a1 - 将 %1 扩充到文件属性
%~t1 - 将 %1 扩充到文件的日期/时间
%~z1 - 将 %1 扩充到文件的大小