Board logo

标题: [文件操作] 【已解决】批处理创建右键菜单项,实现在选中的文件或文件夹的名称前加上当前日期前缀 [打印本页]

作者: 279491611    时间: 2015-1-21 14:55     标题: 【已解决】批处理创建右键菜单项,实现在选中的文件或文件夹的名称前加上当前日期前缀

本帖最后由 pcl_test 于 2016-8-15 00:23 编辑

右键重命名收到的文件或文件夹在前面加日期, 比如我今天 收到一个文件夹为 “ ABC”  我 希望点击文件夹--右键 -- 就能重命名为" 2015-01-21_ABC"。
再比如我今天 收到一个文件为 “ ABC.rar”  我 希望点击文件夹--右键 -- 就能重命名为" 2015-01-21_ABC.rar",后缀不变。
当然要是能选几个一起,分别在前面加上 当前日期 那就更完美了。 当然文件也是一样的。只要选中的才修改。没选中的都不变。
日期和原文件名(文件夹名)之间用“_"隔开。日期格式 如 ”2015-01-21” 一样的.
作者: pcl_test    时间: 2015-1-21 18:32

回复 1# 279491611

支持选中单个或多个文件重命名,也支持选中单个或多个文件夹重命名,不支持文件和文件夹混合重命名
请以管理员身份运行该批处理,因为需写入注册表,如果被杀软拦截,请选择允许运行或先退出杀软
  1. @echo off
  2. echo ren %%1 "%%date:~0,4%%-%%date:~5,2%%-%%date:~8,2%%_%%~n1%%~x1" >"C:\Program Files\文件名添加日期.bat"
  3. reg add "HKCR\*\shell\文件名添加日期\Command" /ve /t REG_SZ /d "\"C:\Program Files\文件名添加日期.bat\" \"%%1\"" /f
  4. echo ren %%1 "%%date:~0,4%%-%%date:~5,2%%-%%date:~8,2%%_%%~n1" >"C:\Program Files\文件夹名添加日期.bat"
  5. reg add "HKCR\Directory\shell\文件夹名添加日期\Command" /ve /t REG_SZ /d "\"C:\Program Files\文件夹名添加日期.bat\" \"%%1\"" /f
  6. echo 建立“文件或文件夹名添加日期”右键菜单成功!
  7. pause
复制代码

作者: 279491611    时间: 2015-1-22 10:45

本帖最后由 279491611 于 2015-1-22 10:47 编辑

回复 2# pcl_test


    谢谢!果然好用。而且介绍的也很详细.
作者: 279491611    时间: 2015-1-22 10:50

用两个批处理来完成这个动作,果然高明,我老想着一个呢。思路很重要啊。
作者: alexmai    时间: 2023-10-25 16:32

本帖最后由 alexmai 于 2023-10-25 16:33 编辑

回复 2# pcl_test



我尝试把日期后置,出现问题,请帮忙调整,增加扩展名,感谢
  1. @echo off
  2. echo ren %%1 "%%~n1-%%date:~0,4%%.%%date:~5,2%%.%%date:~8,2%%~x" >"C:\Program Files\文件名添加日期.bat"
  3. reg add "HKCR\*\shell\文件名添加日期\Command" /ve /t REG_SZ /d "\"C:\Program Files\文件名添加日期.bat\" \"%%1\"" /f
  4. echo ren %%1 "%%~n1-%%date:~0,4%%.%%date:~5,2%%.%%date:~8,2" >"C:\Program Files\文件夹名添加日期.bat"
  5. reg add "HKCR\Directory\shell\文件夹名添加日期\Command" /ve /t REG_SZ /d "\"C:\Program Files\文件夹名添加日期.bat\" \"%%1\"" /f
  6. echo 建立“文件或文件夹名添加日期”右键菜单成功!
  7. pause
复制代码

作者: 77七    时间: 2023-10-25 18:04

本帖最后由 77七 于 2023-10-25 18:05 编辑

回复 5# alexmai


  1. @echo off
  2. echo ren %%1 "%%~n1-%%date:~0,4%%-%%date:~5,2%%-%%date:~8,2%%%%~x1" >"C:\Program Files\文件名添加日期.bat"
  3. reg add "HKCR\*\shell\文件名添加日期\Command" /ve /t REG_SZ /d "\"C:\Program Files\文件名添加日期.bat\" \"%%1\"" /f
  4. echo ren %%1 "%%~n1-%%date:~0,4%%-%%date:~5,2%%-%%date:~8,2%%" >"C:\Program Files\文件夹名添加日期.bat"
  5. reg add "HKCR\Directory\shell\文件夹名添加日期\Command" /ve /t REG_SZ /d "\"C:\Program Files\文件夹名添加日期.bat\" \"%%1\"" /f
  6. echo 建立“文件或文件夹名添加日期”右键菜单成功!
  7. pause
复制代码

作者: 563406396    时间: 2023-11-26 16:41

回复 6# 77七


    能否再出一个
将日期后缀更新为当前日期
作者: 563406396    时间: 2023-11-26 16:42

回复 2# pcl_test


       能否再出一个
将日期后缀更新为当前日期
作者: 77七    时间: 2023-11-26 22:09

本帖最后由 77七 于 2023-11-26 22:11 编辑

回复 7# 563406396


   文件名格式如 xxxx2023-11-26.xxx ,取文件名 (不包括扩展名)后10位。(添加文件名可使用6楼代码)
文件夹名格式如 xxxx2023-11-26

  1. @echo off
  2. rem 批处理保存为ansi编码格式
  3. >"C:\Program Files\文件名更新日期.bat" (
  4.         echo set oldN=%%~n1
  5.         echo ren "%%~1" "%%oldN:~0,-10%%%%date:~0,4%%-%%date:~5,2%%-%%date:~8,2%%%%~x1"
  6. )
  7. reg add "HKCR\*\shell\文件名更新日期\Command" /ve /t REG_SZ /d "\"C:\Program Files\文件名更新日期.bat\" \"%%1\"" /f
  8. >"C:\Program Files\文件夹名更新日期.bat" (
  9.         echo set oldN=%%~nx1
  10.         echo ren "%%~1" "%%oldN:~0,-10%%%%date:~0,4%%-%%date:~5,2%%-%%date:~8,2%%"
  11. )
  12. reg add "HKCR\Directory\shell\文件夹名更新日期\Command" /ve /t REG_SZ /d "\"C:\Program Files\文件夹名更新日期.bat\" \"%%1\"" /f
  13. echo 建立“文件或文件夹名更新日期”右键菜单成功!
  14. pause
复制代码

作者: 563406396    时间: 2023-11-27 20:10

回复 9# 77七


    完美解决,谢谢大佬




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