标题: [注册表类] [已解决]写一个reg(执行cmd),专门针对pdf,判断文件名包含某字符则相应改名 [打印本页]
作者: lforl 时间: 2024-6-1 11:52 标题: [已解决]写一个reg(执行cmd),专门针对pdf,判断文件名包含某字符则相应改名
本帖最后由 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"
作者: 77七 时间: 2024-6-1 15:46
本帖最后由 77七 于 2024-6-1 16:05 编辑
楼主之前的帖子不是有zip改名的吗?我参考写了一个- Windows Registry Editor Version 5.00
-
- [HKEY_CLASSES_ROOT\SystemFileAssociations\.pdf\Shell\rename1]
- @="自定义重命名"
-
- [HKEY_CLASSES_ROOT\SystemFileAssociations\.pdf\Shell\rename1\Command]
- @="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\")"
复制代码
作者: smss 时间: 2024-6-1 15:59
- @echo off&setlocal enabledelayedexpansion
- for %%f in (*.pdf) do (set "filename=%%~nf"
- if "!filename:从=!" neq "!filename!" (set "newname=!filename:从=!")else set "newname=好!filename!"
- ren "%%f" "!newname!%%~xf"
- )
- endlocal
- pause
复制代码
请将上述代码保存为ANSI编码`.bat`批处理文件,并放在需要更改文件名的文件夹内。运行该批处理文件后,它会遍历文件夹中的所有*.pdf文件,根据您的要求进行重命名
作者: smss 时间: 2024-6-1 16:38
- reg add "HKCR\SystemFileAssociations\.pdf\shell\AddDatePrefix" /ve /t REG_SZ /d "Add Date Prefix" /f
- 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
复制代码
作者: lforl 时间: 2024-6-1 18:28
回复 2# 77七
哈哈,可以的!的确能生效!
但是我总感觉我那老的写的太复杂,是不是可以用findstr 实现更简洁。
我研究下跟帖的另外两位大佬的看看...
作者: lforl 时间: 2024-6-1 23:02
楼主之前的帖子不是有zip改名的吗?我参考写了一个
77七 发表于 2024-6-1 15:46
目前还是这方法稳定,简洁。感谢楼上另外两位大佬帮助。
对了,我文件名中有字符“从 ”(注意从字后面带一个空格),删除“从”字和空格“ ”。
一旦考虑带一个空格感觉就复杂起来了。
@77七 大佬有辙不?
作者: 77七 时间: 2024-6-1 23:51
回复 6# lforl
在2楼代码,两个从后面添加空格
作者: lforl 时间: 2024-6-2 00:03
回复 lforl
在2楼代码,两个从后面添加空格
77七 发表于 2024-6-1 23:51
果然ok!
高!比我自己写的兼容性好多了!
也非常感谢@smss大力帮助!
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |