博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
window添加右键菜单
阅读量:5094 次
发布时间:2019-06-13

本文共 1759 字,大约阅读时间需要 5 分钟。

开发针对目录的右键拓展

因为最近想删除 一个项目 多个目录下的.svn文件 所以考虑着能不能添加个右键  点击它的时候  可以帮我们删除目录所有的.svn文件 

首先来一个简单例子 做一个打开后 显示文件夹名称的右键

首先是 知道是 HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell  添加一个项 就会自动在文件夹右键上添加一个菜单

新建一个记事本命名为 showname.reg  只要后缀是reg就行 内容如下:

#这一个必须要加 不然会报错

Windows Registry Editor Version 5.00         

#这个表示在shell下添加一个showpath的子项

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\showpath]

#这个表示在showpath项的默认值 设置为 ShowPath 这个showPath也就是我们的菜单名称

@="ShowPath"

#在showpath项下 在添加一个command子项 这个子项是要执行的文件或者命令的路径

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\showpath\command]

#给他添加上默认值 是执行cmd命令 %1是参数  这里默认就是放的我们点击的文件夹名称

@="cmd /c echo %1 & pause"

另存为  双击导入到注册表 我们在任意文件夹上右键 发现多了个ShowPath 点击时弹出了一个dos命令 显示当前文件夹的路径

既然获取到了目录名 能不能使用dos下的 for命令 循环删除目录下的.svn文件了

首先我们要循环一个目录 找到某个文件的命令 是

看下面的命令 /r表示循环子目录  .或者%CD%表示扫描当前目录  in和(必须有个空格 括号表示要找的文件或者文件夹的名称

for /r . %s in (.svn) do echo %s;

或者(循环里支持多个脚本) 

        for /r %CD% %s in (svn) do  (

echo %s;

 );

我们知道 rd是删除目录名称 /S表示删除子目录  /Q表示不需要确认

rd /S /Q 目录名称

那么我们是不是可以 将目录替换成我们的%1 循环执行删除动作 这里上面%1里面有空格会有问题 所以我们用"把他扩起来

for /r “%1” %s in (.svn) do rd /S /Q %s;

我们新建一个clearsvn.reg文件内容如下(在cmd命令时只用一个%s 而在批处理文件或者注册表文件中要使用两个%%s)

Windows Registry Editor Version 5.00         

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\clearsvn]

@="ClearSvn"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\clearsvn\command]

@="cmd /c echo %1 & for /r  \"%1\" %%s in (.svn) do rd /S /Q \"%%s\" & pause"

开发针对文件的右键拓展

文件的拓展是在注册表的 HKEY_CLASSES_ROOT\*\shell 下 我们添加一个右键 通过dos查询文件的内容

新建一个 dosquery.reg  内容如下

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\dospad]
@="dosquery"
[HKEY_CLASSES_ROOT\*\shell\dospad\command]
@="cmd /c type \"%1\" &pause"

如果不记得Windows Registry Editor Version 5.00 可以通过regedit命令 打开注册表后 任意导出一个 就有了

转载于:https://www.cnblogs.com/liaomin416100569/p/9331262.html

你可能感兴趣的文章
jQuery源码分析(2) - 为什么不用new jQuery而是用$()
查看>>
[转]【EL表达式】11个内置对象(用的少) & EL执行表达式
查看>>
ArrayList对象声明& arrayList.size()
查看>>
并发编程 线程
查看>>
Mysql 解压安装
查看>>
Mysql
查看>>
前端html
查看>>
网络编程
查看>>
关于“设计模式”和“设计程序语言”的一些闲话
查看>>
(一二九)获取文件的MineType、利用SSZipArchive进行压缩解压
查看>>
python学习4 常用内置模块
查看>>
Window7上搭建symfony开发环境(PEAR)
查看>>
ResolveUrl的用法
查看>>
Linux内核态、用户态简介与IntelCPU特权级别--Ring0-3
查看>>
第23月第24天 git命令 .git-credentials git rm --cached git stash clear
查看>>
华为离职副总裁徐家骏:年薪千万的工作感悟
查看>>
java SE :标准输入/输出
查看>>
sublimie 知乎
查看>>
一些方便系统诊断的bash函数
查看>>
Floyd算法 - 最短路径
查看>>