【问题标题】:Win 8: How to run a batch file via right click menu?Win 8:如何通过右键菜单运行批处理文件?
【发布时间】:2015-12-05 15:32:04
【问题描述】:

我已经进行了一些谷歌搜索,但还没有找到我需要的东西。

我为 .bat 文件设置了默认程序来调用编辑器,所以当我双击一个 .bat 文件时,我想对其进行编辑。但是当我右键单击它时,我想选择一个菜单项来运行它。在我做出这个改变之后,然后我右键单击 .bat 文件并选择“打开”,显然默认操作是“编辑”,所以文件被再次编辑。

如何右键单击 .bat 文件以使其运行?它设置一些路径和其他变量并打开一个 cmd 窗口。 (它适用于闪存驱动器上的 Strawberry Perl Portable。)

当我将文件重命名为以 .cmd 结尾并右键单击打开时,文件运行但 cmd 窗口没有保持打开状态,它立即关闭。带有命令的批处理文件行是cmd /K

总结:我希望右键菜单能够运行任何批处理文件,即使默认程序将 .bat 文件发送到编辑器。

谢谢。我非常感谢您的帮助。问题开始于 24 小时前,有 2 个,是的 2,闪存驱动器损坏(相同的 Sandisk 型号),此后我在此闪存驱动器上的开发已停止,尝试各种修复和重新安装。

【问题讨论】:

    标签: windows batch-file windows-8 right-click


    【解决方案1】:

    请阅读Customizing a Shortcut Menu Using Static Verbs:

    或者,您可以通过以下方式为文件类型定义默认动词 它是Shell 子键的默认值。

    Shell 按以下顺序使用第一个可用动词:

    1. 默认动词。
    2. 注册表中的第一个动词(如果指定了动词顺序)
    3. 打开动词
    4. 打开方式动词

    如果列出的动词都不可用,则操作失败。

    例如,在下一个场景中,.bat 文件类型的默认动词是 open

    ==> assoc .bat
    .bat=batfile
    
    ==> ftype batfile
    batfile="%1" %*
    
    ==> reg query HKEY_CLASSES_ROOT\batfile\shell /s
    
    HKEY_CLASSES_ROOT\batfile\shell
        (Default)    REG_SZ    (value not set)
    
    HKEY_CLASSES_ROOT\batfile\shell\edit
    
    HKEY_CLASSES_ROOT\batfile\shell\edit\command
        (Default)    REG_EXPAND_SZ    %SystemRoot%\System32\NOTEPAD.EXE %1
    
    HKEY_CLASSES_ROOT\batfile\shell\open
        EditFlags    REG_BINARY    00000000
    
    HKEY_CLASSES_ROOT\batfile\shell\open\command
        (Default)    REG_SZ    "%1" %*
    
    HKEY_CLASSES_ROOT\batfile\shell\print
    
    HKEY_CLASSES_ROOT\batfile\shell\print\command
        (Default)    REG_EXPAND_SZ    %SystemRoot%\System32\NOTEPAD.EXE /p %1
    
    HKEY_CLASSES_ROOT\batfile\shell\runas
        HasLUAShield    REG_SZ
    
    HKEY_CLASSES_ROOT\batfile\shell\runas\command
        (Default)    REG_EXPAND_SZ    %SystemRoot%\System32\cmd.exe /C "%1" %*
    
    HKEY_CLASSES_ROOT\batfile\shell\runasuser
        (Default)    REG_SZ    @shell32.dll,-50944
        SuppressionPolicyEx    REG_SZ    {F211AA05-D4DF-4370-A2A0-9F19C09756A7}
        Extended    REG_SZ
    
    HKEY_CLASSES_ROOT\batfile\shell\runasuser\command
        DelegateExecute    REG_SZ    {ea72d00e-4960-42fa-ba92-7792a7944c1d}
    

    当更改 shell子键默认值时,.bat文件类型的默认动词变为编辑强>:

    ==> reg query HKEY_CLASSES_ROOT\batfile\shell /ve
    
    HKEY_CLASSES_ROOT\batfile\shell
        (Default)    REG_SZ    edit
    

    此更改不会影响文件资源管理器的当前实例;您需要重新启动文件资源管理器(甚至是 Shell?)才能使其生效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-08
      • 1970-01-01
      • 1970-01-01
      • 2017-01-16
      相关资源
      最近更新 更多