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

[文件操作] 批处理如何删除/去掉文件名中的数字

[复制链接]
发表于 2012-12-12 17:15:46 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-8-13 22:27 编辑

如题求助,如何批处理把文件名中的数字去掉
我的文件名是:09001014 电话撒地方-说对方是否.doc
修改成
电话撒地方-说对方是否.doc

数字并不固定,希望各位达人大哥能帮助小弟一下,这里实在太感谢了。
发表于 2012-12-12 18:57:42 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for %%a in (*.doc) do (
  4.     set "str=%%a"
  5.     set "str=!str: =!"
  6.     for /l %%b in (0,1,9) do (
  7.         set str=!str:%%b=!
  8.     )
  9.     ren "%%a" "!str!"
  10. )
复制代码
 楼主| 发表于 2012-12-12 20:06:58 | 显示全部楼层
回复 2# BAT-VBS


   实在感谢你了,太好用了,省去了很多麻烦,真心谢谢啊
发表于 2012-12-12 22:03:18 | 显示全部楼层
  1. @echo off & setlocal enabledelayedexpansion
  2. for %%i in (*.doc) do (
  3.    for /f "tokens=1,*" %%a in ("%%i") do (
  4.       ren "%%i" "%%b" 2>nul
  5.    )
  6. )
  7. pause
复制代码
发表于 2012-12-13 13:16:32 | 显示全部楼层
发表于 2016-8-13 22:50:43 | 显示全部楼层
  1. //&cls&dir /a-d/b *.doc|cscript -nologo -e:jscript "%~f0"&pause&exit
  2. var fso = new ActiveXObject('Scripting.FileSystemObject');
  3. while(!WSH.StdIn.AtEndOfStream){
  4.     var line = WSH.StdIn.ReadLine();
  5.     var file = fso.GetFile(line);
  6.     var name = fso.GetBaseName(line).replace(/\d+/g, '').replace(/^\s+|\s+$/, '');
  7.     var ext = '.'+fso.GetExtensionName(line);
  8.     if(name&&!fso.FileExists(file.ParentFolder+'\\'+name+ext))file.Name=name+ext;
  9. }
复制代码
发表于 2017-8-17 15:38:23 | 显示全部楼层
回复 6# pcl_test


    版主的果然不一样,最上面的一个,实际测试,连扩展名中的数字也删除了——mp3文件
发表于 2017-8-17 15:54:37 | 显示全部楼层
回复 7# Rocmind
  1. powershell -c "(dir -file '*.mp3')|foreach{$r=($_.BaseName -replace '\d+')+$_.Extension;ren $_ $r}"
复制代码
这样更简洁
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 00:14 , Processed in 0.021069 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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