Windows 注册文件似乎搞乱了作为默认值或特殊值传递给键的命令语法

Windows Reg file seems to mess up the command syntax passed as default or special value to key

我正在尝试创建一个可以在任何 Windows7-10 系统中导入的 .reg 文件,该文件在导入后提供上下文菜单选项以与用户确认是否删除特定日志中的日志目录,然后在资源管理器中打开同一目录。

现在我创建的 .reg 文件看起来语法正确,它也打开了 CMD 提示符,但由于错误它没有执行命令。

这是 .reg 文件:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\FolderName_Logs]
@="Open folder-name's Logs"

[HKEY_CLASSES_ROOT\Directory\Background\shell\FolderName_Logs\command]
@="cmd /s /v /e /k \"set \"\"LogsDir=C:\projects\folder-name\storage\logs\"\" && if exist \"\"!LogsDir!\"\" (set /p ch=\"\"Delete Logs? \"\" && if /i !ch! equ 'y' del /f /s /q \"\"!LogsDir!\*.log\"\") && start \"\"\"\" \"\"!LogsDir!\"\"\""

有没有我在这里遗漏的语法 trait/error?如何让它工作?

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\Shell\FolderName_Logs\command]
@="cmd /s /v /e /c set \"LogsDir=%%cd%%\" && if exist \"!LogsDir!\" (set /p ch=\"Delete Logs?\" && if /i '!ch!' equ 'y' del /f /s /q \"!LogsDir!\*.log\") && start \"\" \"!LogsDir!\""

注意:我将您的硬编码路径更改为 %CD%,因此它使用您所在的目录。