zoukankan      html  css  js  c++  java
  • 批处理系列(15)

    run a batch file at folder's context menu.

    add a right click menu action that runs a custom batch script.

    本篇无知识点,只是将前面写的,弄到右键菜单,方便随时调用。


    对以前批处理代码进行调整,主要是对进入的目录参数进行调整。

    这里要把一个批处理文件做两份处理:
    set "HandleDir=%~1"对应到HKEY_CLASSES_ROOTDirectoryshell
    set "HandleDir=%cd%"对应到HKEY_CLASSES_ROOTDirectoryBackground

    执行时分别为
    @="cmd.exe /c C:\bat\dir.bat %1 "%V""
    @="cmd.exe /c C:\bat\dir-bg.bat %cd% "%V""

    我这里是将处理之后的批处理文件放在了C:at这里不贴代码了,点击链接下载查看源码

    • 文件命名操作 - file.bat, file-bg.bat
    • 目录命名操作- dir.bat, dir-bg.bat
    • 获取文件和目录名-name.bat, name-bg.bat

    保存并执行下面文件和目录命名操作.reg文件,然后在目标目录鼠标右键就可以选择相关操作项了。

    Windows Registry Editor Version 5.00
    
    [HKEY_CLASSES_ROOTDirectoryshellxfiles]
    @="文件命名操作(&A)"
    "NoWorkingDirectory"=""
    [HKEY_CLASSES_ROOTDirectoryshellxfilescommand]
    @="cmd.exe /c C:\bat\file.bat %1 "%V""
    
    [HKEY_CLASSES_ROOTDirectoryBackgroundshell]
    [HKEY_CLASSES_ROOTDirectoryBackgroundshellxfiles]
    @="文件命名操作(&A)"
    [HKEY_CLASSES_ROOTDirectoryBackgroundshellxfilescommand]
    @="cmd.exe /c C:\bat\file-bg.bat %cd% "%V""
    
    [HKEY_CLASSES_ROOTDirectoryshellxdir]
    @="目录命名操作(&Q)"
    "NoWorkingDirectory"=""
    [HKEY_CLASSES_ROOTDirectoryshellxdircommand]
    @="cmd.exe /c C:\bat\dir.bat %1 "%V""
    
    [HKEY_CLASSES_ROOTDirectoryBackgroundshell]
    [HKEY_CLASSES_ROOTDirectoryBackgroundshellxdir]
    @="目录命名操作(&Q)"
    [HKEY_CLASSES_ROOTDirectoryBackgroundshellxdircommand]
    @="cmd.exe /c C:\bat\dir-bg.bat %cd% "%V""
    
    [HKEY_CLASSES_ROOTDirectoryshellxfiledirname]
    @="文件和目录名(&Z)"
    "NoWorkingDirectory"=""
    [HKEY_CLASSES_ROOTDirectoryshellxfiledirnamecommand]
    @="cmd.exe /c C:\bat\name.bat %1 "%V""
    
    [HKEY_CLASSES_ROOTDirectoryBackgroundshell]
    [HKEY_CLASSES_ROOTDirectoryBackgroundshellxfiledirname]
    @="文件和目录名(&Z)"
    [HKEY_CLASSES_ROOTDirectoryBackgroundshellxfiledirnamecommand]
    @="cmd.exe /c C:\bat\name-bg.bat %cd% "%V""
    
    

    右键菜单添加命令行入口.reg保存并执行,在任何目录即可调用cmd。此功能跟批处理没关系,可忽略。

    Windows Registry Editor Version 5.00
    
    ;[-HKEY_CLASSES_ROOTDirectoryshellxcmd]
    ;[-HKEY_CLASSES_ROOTDirectoryBackgroundshellxcmd]
    ;[-HKEY_CLASSES_ROOTDriveshellxcmd]
    ;[-HKEY_CLASSES_ROOTLibraryFolderackgroundshellxcmd]
    
    [HKEY_CLASSES_ROOTDirectoryshellxcmd]
    @="CLI"
    [HKEY_CLASSES_ROOTDirectoryshellxcmdcommand]
    @="cmd.exe /s /k pushd "%V""
    
    [HKEY_CLASSES_ROOTDriveshellxcmd]
    @="CLI"
    [HKEY_CLASSES_ROOTDriveshellxcmdcommand]
    @="cmd.exe /s /k pushd "%V""
    
    [HKEY_CLASSES_ROOTDirectoryBackgroundshell]
    [HKEY_CLASSES_ROOTDirectoryBackgroundshellxcmd]
    @="CLI"
    [HKEY_CLASSES_ROOTDirectoryBackgroundshellxcmdcommand]
    @="cmd.exe /s /k pushd "%V""
    
    [HKEY_CLASSES_ROOTLibraryFolderackgroundshellxcmd]
    @="CLI管理员(&X)"
    [HKEY_CLASSES_ROOTLibraryFolderackgroundshellxcmdcommand]
    @="cmd.exe /s /k pushd "%V""
    
    ;[-HKEY_CLASSES_ROOTDirectoryshell
    unas]
    ;[-HKEY_CLASSES_ROOTDirectoryBackgroundshell
    unas]
    ;[-HKEY_CLASSES_ROOTDriveshell
    unas]
    ;[-HKEY_CLASSES_ROOTLibraryFolderackgroundshell
    unas]
    
    [HKEY_CLASSES_ROOTDirectoryshell
    unas]
    @="CLI管理员(&X)"
    "HasLUAShield"=""
    [HKEY_CLASSES_ROOTDirectoryshell
    unascommand]
    @="cmd.exe /s /k pushd "%V""
    
    [HKEY_CLASSES_ROOTDirectoryBackgroundshell
    unas]
    @="CLI管理员(&X)"
    "HasLUAShield"=""
    [HKEY_CLASSES_ROOTDirectoryBackgroundshell
    unascommand]
    @="cmd.exe /s /k pushd "%V""
    
    [HKEY_CLASSES_ROOTDriveshell
    unas]
    @="CLI管理员(&X)"
    "HasLUAShield"=""
    [HKEY_CLASSES_ROOTDriveshell
    unascommand]
    @="cmd.exe /s /k pushd "%V""
    
    [HKEY_CLASSES_ROOTLibraryFolderackgroundshell
    unas]
    "HasLUAShield"=""
    @="CLI管理员(&X)"
    [HKEY_CLASSES_ROOTLibraryFolderackgroundshell
    unascommand]
    @="cmd.exe /s /k pushd "%V""
    
    

    转载保留原文地址和作者名,只为错误勘正和信息补充。
    版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)

  • 相关阅读:
    jdk7_ConcurrentHashMap 图示
    Teradata 日期函数
    Teradata正则表达式
    Teradata sql去除字段中的字母/数字
    sql查询连续3天有交易记录的客户
    批量生成sql查询语句
    sql查询字段中是否含有字母/数字/符号
    sql查询每个人最新的2个电话号码
    python连接Teradata数据库
    dos命令获取文件行数
  • 原文地址:https://www.cnblogs.com/daxiang/p/8572751.html
Copyright © 2011-2022 走看看