我正在尝试创建一个自定义的右键单击命令,该命令会将文件移动到文件夹中。我有一个C:MyMove.bat
使用以下代码调用的批处理文件:
@echo off
cls
move %1 "C:/My folder/"
我使用我的命令名称在以下位置创建了一个新的注册表项:
HKEY_CLASSES_ROOT\Directory\shell\CustomMove\command
HKEY_CLASSES_ROOT\*\shell\MyScript1\command
该命令注册表项的值为:
"C:\MyMove.bat" "%1"
新项目确实出现在右键菜单中,但是当我单击一个对象然后单击我的 CustomMove 命令时,它会尝试打开文件而不是执行批处理文件。
请注意,当我从命令提示符运行脚本时,它工作正常,即当我运行它时,C:MyMove.bat "<file_path>"
它确实正确地将文件移动到"C:/My folder/"
答案1
您可以将 Reg Keys 与命令一起添加以移动文件夹,并使用鼠标右键使用它,而无需使用 bath 文件。
只需以管理员身份运行即可添加注册表项。
:: add command ::
Reg Add "HKEY_CLASSES_ROOT\Directory\shell\CustomMove\command" /t REG_SZ /v "" /d "\"C:\\Windows\\System32\\cmd.exe\" /c >con: move /y \"%L\" \"C:\\Your\\Destination\\Folder\\"" /F
:: add icon ::
Reg Add "HKEY_CLASSES_ROOT\Directory\shell\CustomMove" /t REG_SZ /v "Icon" /d "C:\\Windows\\System32\\shell32.dll,77" /f
答案2
这是一个 reg 文件,它将“复制到文件夹”和“移动到文件夹”添加到上下文菜单中。右键单击文件或文件夹时有效。
Windows 注册表编辑器版本 5.00
; 将“复制到文件夹”和“移动到文件夹”添加到上下文菜单;右键单击文件或文件夹时显示
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers]
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers{C2FBB630-2971-11D1-A18C-00C04FD75D13}]
;将移动到文件夹添加到上下文菜单
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers]
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers{C2FBB631-2971-11D1-A18C-00C04FD75D13}]