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

[文件操作] 批处理如何去除文件名后面的数字?

我“D:\名单目录”下有很多以人名命名的文件夹每个文件夹里都有几个不同的文件,这几个不同的文件名字都是由汉字和数字组成的,如“第一天作业08、第四天作业16、第三天作业02……”,怎么样才能把文件名字后面的数字去除掉

回复 7楼 的帖子

把所有信息都更新到顶楼吧
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

  1. @echo off
  2. for /r "D:\名单目录" %%a in (*.ppt) do (
  3.     set "file=%%~na"
  4.     setlocal enabledelayedexpansion
  5.     set "file=!file:~0,-2!"
  6.     ren "%%a" "!file!.ppt"
  7.     endlocal
  8. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

根据斑竹的修改了下,应该可以了
楼主试试
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /r d:\名单目录\ %%i in (*.*) do (
  4. set a=%%~fi
  5. set b=%%~xni
  6. for /l %%i in (0,1,9) do (
  7. set b=!b:%%i=!
  8. )
  9. ren "!a!" "!b!"
  10. )
  11. exit
复制代码

TOP

单就此问题:
  1. @echo off
  2. setlocal enableDelayedExpansion
  3. set "stu=D:\学生名单"
  4. for /d %%a in ("%stu%\*") do for %%i in ("%%a\*") do (
  5.     for /f "delims=0123456789" %%x in ("%%i") do ren "%%i" "%%x"
  6. )
  7. pause
复制代码

TOP

是这个帖子中的问题吧:
批处理如何将不同文件夹下的文件随机复制到另外的文件夹中?
http://www.bathome.net/thread-9468-1-1.html
同一个问题最好不要分成几个帖子。

把我8L代码中的echo copy "%%i\!subject!!x!.doc" "%%a"改成
echo copy "%%i\!subject!!x!.doc" "%%a\!subject!.doc"

TOP

我又看错了。。。

TOP

回复 2楼 的帖子

是.PPT文件,去掉数字不会出现同名字,数字固定是2位的。

TOP

回复 4楼 的帖子

  1. @echo off
  2. for /r "D:\名单目录" %%a in (*.*) do (
  3.     echo %%a
  4. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

for /r d:\名单目录\ %%i in (.)...... 本来就会连"d:\名单目录"也读取的

TOP

请将该批处理放于名单目录下
还有请教各位大大,怎么解决for /r d:\名单目录\ %%i in (.)......只读取"d:\名单目录"下的子目录,而不是连"d:\名单目录"也读取
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /r %%i in (.) do (
  4. set a=%%~fi
  5. set b=%%~ni
  6. for /l %%i in (0,1,9) do (
  7. set b=!b:%%i=!
  8. )
  9. ren !a! !b!
  10. )
  11. exit
复制代码
1

评分人数

TOP

数字固定是两位?没有特殊情况?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

你什么格式的文件
去掉数字会不会发生重名

TOP

返回列表