Board logo

标题: [系统相关] [已解决]批处理怎样实现通过右键菜单项更改当前文件名前缀? [打印本页]

作者: zhangop9    时间: 2011-7-31 12:48     标题: [已解决]批处理怎样实现通过右键菜单项更改当前文件名前缀?

本帖最后由 pcl_test 于 2016-10-2 22:41 编辑

在文件名上右键可弹出菜单,
菜单上有1、2、3、。。。。17个项目,
选1时,就在原文件名前加前缀[长江]
选2时,就在原文件名前加前缀[黄河]
选3时,就在原文件名前加前缀[汉阳]
选3时,就在原文件名前加前缀[武汉]
作者: tmplinshi    时间: 2011-7-31 14:12

  1. @echo off
  2. rem 设置“发送到”的一级菜单
  3. set "TopMenu=加前缀[]"
  4. rem 设置前缀
  5. set "list=长江 黄河 汉阳 武汉 ..."
  6. set "folder=%userprofile%\SendTo\%TopMenu%"
  7. if not exist "%folder%" md "%folder%"
  8. for %%a in (%list%) do (
  9.     >"%folder%\[%%a].bat" echo ren %%1 "%%~n0%%~nx1"
  10. )
复制代码

作者: broly    时间: 2011-7-31 14:53

这个用批处理或者VBS恐怕实现不了。此功能涉及到了"Windows Shell扩展编程"
作者: CUer    时间: 2011-7-31 15:41

回复 3# broly


通过注册表可以修改右键菜单的吧
作者: broly    时间: 2011-7-31 18:25

回复 4# CUer


    网上有软件可以修改右键菜单,看它也没带什么COM组件,应该也是通过注册表的。这种方法好像定制不了楼主的要求。
作者: zhangop9    时间: 2011-8-1 19:52

选1时,就在原文件名前加前缀0.[长江]
选2时,就在原文件名前加前缀1.[黄河]
选3时,就在原文件名前加前缀2.[汉阳]
选3时,就在原文件名前加前缀3.[武汉]
能不能做成这样,0.[长江].bat
作者: tmplinshi    时间: 2011-8-1 20:49

回复 6# zhangop9
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. rem 设置“发送到”的一级菜单
  4. set "TopMenu=加前缀[]"
  5. rem 设置前缀
  6. set "list=长江 黄河 汉阳 武汉 ..."
  7. set "folder=%userprofile%\SendTo\%TopMenu%"
  8. if not exist "%folder%" md "%folder%"
  9. set n=0
  10. for %%a in (%list%) do (
  11.      >"%folder%\!n!.[%%a].bat" echo ren %%1 "%%~n0%%~nx1"
  12.     set /a n += 1
  13. )
复制代码

作者: zhangop9    时间: 2011-8-1 22:47

谢谢,搞定能用了!!!!
作者: 34205    时间: 2015-8-13 16:30

学习了,好用




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2