找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 17584|回复: 7

[注册表类] [已解决]写一个reg(执行cmd),专门针对pdf,判断文件名包含某字符则相应改名

[复制链接]
发表于 2024-6-1 11:52:52 | 显示全部楼层 |阅读模式
本帖最后由 lforl 于 2024-6-2 06:59 编辑

写一个reg(执行cmd),针对pdf文件(其他文件类型不出现右键)右键改名:

如果文件名中有字符“从 ”,则删除“从 ”。
如果没有字符“从 ”,则在文件名之前添加“【好】”。


努力了一下,右键pdf菜单都没出现,求大佬提携指点!
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.pdf\shell\AddDatePrefix]
@="Add Date Prefix"

[HKEY_CLASSES_ROOT\.pdf\shell\AddDatePrefix\command]
@="cmd /c  ren \"%1\" 【好】\"%1\".pdf&exit"
发表于 2024-6-1 15:46:37 | 显示全部楼层
本帖最后由 77七 于 2024-6-1 16:05 编辑

楼主之前的帖子不是有zip改名的吗?我参考写了一个
  1. Windows Registry Editor Version 5.00

  2. [HKEY_CLASSES_ROOT\SystemFileAssociations\.pdf\Shell\rename1]
  3. @="自定义重命名"

  4. [HKEY_CLASSES_ROOT\SystemFileAssociations\.pdf\Shell\rename1\Command]
  5. @="cmd /v:on /c for /f "delims=" %%i in ("%1") do set str=%%~ni&&if "!str!" neq "!str:从=!" (ren "%%~i" "!str:从=!%%~xi") else (ren "%%~i" "好%%~nxi")"
复制代码
发表于 2024-6-1 15:59:02 | 显示全部楼层
  1. @echo off&setlocal enabledelayedexpansion
  2. for %%f in (*.pdf) do (set "filename=%%~nf"
  3.     if "!filename:从=!" neq "!filename!" (set "newname=!filename:从=!")else set "newname=好!filename!"   
  4.     ren "%%f" "!newname!%%~xf"
  5. )
  6. endlocal
  7. pause
复制代码
请将上述代码保存为ANSI编码`.bat`批处理文件,并放在需要更改文件名的文件夹内。运行该批处理文件后,它会遍历文件夹中的所有*.pdf文件,根据您的要求进行重命名
发表于 2024-6-1 16:38:04 | 显示全部楼层
  1. reg add "HKCR\SystemFileAssociations\.pdf\shell\AddDatePrefix" /ve /t REG_SZ /d "Add Date Prefix" /f
  2. reg add "HKCR\SystemFileAssociations\.pdf\shell\AddDatePrefix\command" /ve /t REG_SZ /d "cmd /v:on /c for /f "delims=" %%%%i in ("%%1")do (set "a=%%%%~ni"&(if "!a:从=!" neq "!a!" (set "newname=!a:从=!")else set "newname=好!a!")&ren "%%%%i" "!newname!%%%%~xi")" /f
复制代码
 楼主| 发表于 2024-6-1 18:28:26 | 显示全部楼层
回复 2# 77七

哈哈,可以的!的确能生效!
但是我总感觉我那老的写的太复杂,是不是可以用findstr 实现更简洁。
findstr /B /C:\"从\"

我研究下跟帖的另外两位大佬的看看...
 楼主| 发表于 2024-6-1 23:02:08 | 显示全部楼层
楼主之前的帖子不是有zip改名的吗?我参考写了一个
77七 发表于 2024-6-1 15:46



    目前还是这方法稳定,简洁。感谢楼上另外两位大佬帮助。


对了,我文件名中有字符“从 ”(注意从字后面带一个空格),删除“从”字和空格“ ”。
一旦考虑带一个空格感觉就复杂起来了。
    @77七  大佬有辙不?
发表于 2024-6-1 23:51:20 | 显示全部楼层
回复 6# lforl


   在2楼代码,两个从后面添加空格
 楼主| 发表于 2024-6-2 00:03:30 | 显示全部楼层
回复  lforl


   在2楼代码,两个从后面添加空格
77七 发表于 2024-6-1 23:51


果然ok!
高!比我自己写的兼容性好多了!

也非常感谢@smss大力帮助!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 18:37 , Processed in 0.019443 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表