[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[注册表类] [已解决]批处理怎样在右键加入移动文件和复制文件选项?

我想求一个批处理代码:怎样在右键中加入移动文件和复制文件两个选项。
我在百度搜了很多,都是让改注册表,很麻烦的。
请大虾们帮助写一个批处理代码。
最好是保存成bat文件后,双击这个bat文件一次右键就添加上移动和复制文件两个选项;
如果想在右键取消这两个选项,再双击运行bat文件一次取消右键的复制和移动选项。

谢谢论坛的高手、大侠们了,辛苦了,熬熬夜,写个批处理代码,有时间有机会的话,我请大侠们吃宵夜!!!
1

评分人数

    • zm900612: 感谢给帖子标题标注[已解决]字样PB + 2

看起来应该不难,但是类似这种需要操作注册表的情况,请给出具体键值,因为没有人会把整个注册表背下来,所以碰到改注册表的事我们一样要去股沟、摆渡

TOP

我在百度搜到的改注册表方法是以下方法,其中估计有注册表键值~~~~

1、运行“注册表编辑器”(RegEdit)。
2、在“注册表编辑器”窗口的左窗格中,依次展开“HKEY_CLASSES_ROOT\AllFilesystem Objects\shellex\ContextMenuHandlers”分支。
3、右键单击“ContextMenuHandlers”,选择“新建→主键”,将新主键命名为“Copy To”。
4、选中“Copy To”主键,在右窗格中,双击“默认”,此时弹出对话框的“数值数据”框中键入“{C2FBB630-2971-11D1-A18C-00C04FD75D13}”。单击“确定”按钮。
5、单击“文件”菜单中的“退出”命令,关闭“注册表编辑器”窗口。

增加“移动到文件夹”命令,方法步骤同上,只是在“ContextMenuHandlers”下,新建一个“Move To”主键,将其值设置为“{C2FBB631- 2971-11D1-A18C-00C04FD75D13}”即可。

现在,右键单击某一文件(夹),在系统弹出的快捷菜单中,出现“复制到文件夹”和“移动到文件夹”两个选项,点击进去试试,此时将弹出一个浏览文件夹的窗口,选择目标文件夹后,点击确定即可实现复制或移动文件的目的。

TOP

代码是写出来了,但是好像没有看到对应的右键菜单啊...是不是我理解错了
  1. @echo off 2>nul 3>nul
  2. set reg=HKCR\AllFilesystem Objects\shellex\ContextMenuHandlers
  3. reg query "%reg%\Copy To"&&reg query "%reg%\Move To"&&(
  4. title delete
  5. reg delete "%reg%\Copy To" /f
  6. reg delete "%reg%\Move To" /f
  7.        rem 两个键值都存在则删除
  8. )||(
  9. title add
  10. reg add "%reg%\Copy To" /v @ /d "{C2FBB630-2971-11D1-A18C-00C04FD75D13}"
  11. reg add "%reg%\Move To" /v @ /d "{C2FBB631- 2971-11D1-A18C-00C04FD75D13}"
  12.        rem 两个键值中只要有一个不存在,就添加
  13. )
  14. pause
复制代码

TOP

看来楼上对注册表不清楚啊。。。
  1. @echo off 2>nul 3>nul
  2. set reg=HKCR\AllFilesystemObjects\shellex\ContextMenuHandlers
  3. reg query "%reg%\Copy To"&&reg query "%reg%\Move To"&&(
  4.         title delete
  5.         reg delete "%reg%\Copy To" /f
  6.         reg delete "%reg%\Move To" /f
  7.         rem 两个键值都存在则删除
  8. )||(
  9.         title add
  10.         reg add "%reg%\Copy To" /ve /d "{C2FBB630-2971-11D1-A18C-00C04FD75D13}"
  11.         reg add "%reg%\Move To" /ve /d "{C2FBB631-2971-11D1-A18C-00C04FD75D13}"
  12.         rem 两个键值中只要有一个不存在,就添加
  13. )
  14. pause
复制代码
2

评分人数

TOP

5# slore


不理解@echo off 2>nul 3>nul,难道echo 还会出错...

TOP

6# lxzzr


句柄备份,屏蔽之后所有错误回显

TOP

我试试啊。谢谢两位高手!!!

TOP

本帖最后由 亲临 于 2011-7-6 16:12 编辑

我靠,这里就是有高手!!!!这么快就解决问题了
很好很好很好很好~~~~~~~~
我按照五楼的方法试了,非常完美!!!!!
谢谢哦,回头我请你吃饭,你在哪里?我在河南安阳,有时间你过来啊,我请你吃饭,真诚的!!!!
对谢谢四楼也表示衷心感谢,我没有试你的方法,但是谢谢你费心了!!!回头你跟五楼一块儿来河南安阳,我请你们吃豫北名菜!!!!


哦~~~我的系统是XP SP3

TOP

4# zm900612


谢谢斑竹,我麻烦您了,您费心了!!

TOP

5# slore


向高手致敬!!!!!!

TOP

这里确实有高手的。。。。。。。

TOP

返回列表