[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

本帖最后由 pcl_test 于 2016-8-13 22:27 编辑

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

数字并不固定,希望各位达人大哥能帮助小弟一下,这里实在太感谢了。

  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. )
复制代码

TOP

回复 2# BAT-VBS


   实在感谢你了,太好用了,省去了很多麻烦,真心谢谢啊

TOP

  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
复制代码
时光荏苒||新陈代谢&&涛声依旧||本性难移

TOP

目的,学习批处理

TOP

  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. }
复制代码

TOP

回复 6# pcl_test


    版主的果然不一样,最上面的一个,实际测试,连扩展名中的数字也删除了——mp3文件

TOP

回复 7# Rocmind
  1. powershell -c "(dir -file '*.mp3')|foreach{$r=($_.BaseName -replace '\d+')+$_.Extension;ren $_ $r}"
复制代码
这样更简洁

TOP

返回列表