自定义 Windows 右键单击​​命令未按预期执行批处理文件

自定义 Windows 右键单击​​命令未按预期执行批处理文件

我正在尝试创建一个自定义的右键单击命令,该命令会将文件移动到文件夹中。我有一个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}]

相关内容