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

[文件操作] 批处理如何提取文件名中指定位数的数字字符串来重命名文件

[复制链接]
发表于 2018-4-16 17:25:14 | 显示全部楼层 |阅读模式
修改文件名,只留8位数字

我有一系列的文件名,他其中都有一个八位数的数字。比方说


��ʱ��֮��  �Ϻ�������չ30��ع�չ_12216904

2008年上海市少年儿童唐诗宋词经典吟诵选本_12183905

12181200_2008中国动漫产业发展报告_

可以帮我写一个脚本,把这8位数外的,其他字符都删除,只留下8位数做为文件名吗
发表于 2018-4-16 18:24:01 | 显示全部楼层
本帖最后由 yhcfsr 于 2018-4-16 18:26 编辑
  1. @echo off
  2. for /f "delims=" %%a in ('dir /a-d/s/b^|findstr "[0-9]"') do (
  3. call :get_num "%%~na" name
  4. setlocal enabledelayedexpansion
  5. ren "%%a" "!name!%%~xa"
  6. endlocal
  7. )
  8. pause&exit

  9. :get_num
  10. setlocal&set "name=%~1"
  11. :lp
  12. set "ch=%name:~,1%"
  13. rem 取一字,如果是数字,截8字:如果全数字就输出,否则继续逐字扫描
  14. echo;"%ch%"|findstr "[0-9]">nul&&(
  15. echo;%name:~,8%|findstr "^[0-9]*$">nul&&(endlocal&set "%2=%name:~,8%"&goto :eof)
  16. )
  17. set "name=%name:~1%"
  18. if "%name%"=="" endlocal&goto :eof
  19. goto :lp
复制代码
效率是没有的,同名判别是没做的(太简单懒得写)。所以祈祷你的8位数没有重复吧。
 楼主| 发表于 2018-4-16 18:39:01 | 显示全部楼层
回复 2# yhcfsr


    这个解决了我的问题,不过我有个问题,rem 取一字,如果是数字,截8字:如果全数字就输出,否则继续逐字扫描[/color   这些是什么意思呢,这个是选择我要输出的字数吗,
发表于 2018-4-16 18:44:52 | 显示全部楼层
本帖最后由 yhcfsr 于 2018-4-16 18:46 编辑

回复 3# 我是一只小小鸟
这个只是注释,没有任何作用,BAT不会执行。要不是好看,你删除就行。
 楼主| 发表于 2018-4-16 18:46:57 | 显示全部楼层
回复 4# yhcfsr


    好的,非常感谢
 楼主| 发表于 2018-4-23 14:19:11 | 显示全部楼层
回复 2# yhcfsr


    你好,之前你的代码,可以正常使用,不过这两天,发现了一个问题。请看下图

�2ݼ�����_12254494.rar     
�2ݼ����μ�_12254500.rar


类似上面这种批处理显示  系统找不到指定文件夹,
这个可以帮我看一下,应该怎么解决吗
发表于 2018-4-23 19:11:29 | 显示全部楼层
回复 6# 我是一只小小鸟


    加我QQ 33892006
发表于 2018-4-25 09:52:22 | 显示全部楼层
  1. PowerShell "dir *.rar | ?{$_.Name -match '\d{8}'} | ren -newName {$matches[0]+'.rar'}"
复制代码
 楼主| 发表于 2018-4-25 11:01:41 | 显示全部楼层
回复 8# WHY


    非常感谢
发表于 2020-4-25 23:20:01 | 显示全部楼层
回复 8# WHY


   PowerShell "dir *.rar | ?{$_.Name -match '\d{8}'} | ren -newName {$matches[0]+'.rar'}"
你好,能否帮修改下,其它名字不变,只修改指定位数,感谢了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 23:06 , Processed in 0.017177 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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