右键菜单中的自定义命令不起作用

右键菜单中的自定义命令不起作用

我已经通过注册表为所有文件类型添加了一个右键菜单选项,该选项用于获取文件的 MD5 校验和。

HKEY_CLASSES_ROOT*\shell\Checksum - 默认:获取校验和

HKEY_CLASSES_ROOT*\shell\Checksum\command - 默认:checksum.cmd“%1”

checksum.cmd 只是清除屏幕,使用 %1 调用 fciv.exe,然后暂停。

不幸的是,虽然“获取校验和”选项在右键菜单中正确显示,但单击后它无法执行正确的操作。单击它时会打开“打开方式”对话框,这当然不是我想要的。

checksum.cmd 和 fciv.exe 都在 PATH 中。

校验和.cmd:

@echo off
cls
fciv.exe %1
pause

有人知道发生了什么事吗?

答案1

为了执行 .cmd 文件,您需要调用 Windows 命令 shell 并告诉它解释脚本。要在注册表中设置此功能,请将命令键的 (Default) 值的数据更改为cmd.exe如下所示:

HKEY_CLASSES_ROOT\*\shell\Checksum\command - Default: cmd.exe /C checsum.cmd "%1"

顺便说一句,您可以将pause脚本中的命令替换为可以自动等待指定时间(足够长的时间让您读取输出)的命令,然后再继续执行其他操作或让窗口消失。例如,要暂停 5 秒,您可以使用:

ping 1.0.0.0 -n 1 -w 5000 >nul

参数后面的值-w表示等待的时间(以毫秒为单位)。

相关内容