Board logo

标题: [文件操作] 批处理怎样删除绝对路径下指定文件类型的文件名中的字符? [打印本页]

作者: xidhgood    时间: 2019-4-13 09:15     标题: 批处理怎样删除绝对路径下指定文件类型的文件名中的字符?

是这样的,我有些PDF文件是批量导出获得的,因为要经常这样去用,所以想用个批处理来解决;
一堆的PDF文件,文件名:测试 1.PDF、测试 2.PDF、测试 3.PDF。。。
这些文件最后是以数字结尾,但是数字的前面会有一个空格,要求就是删除空格及空格之前的字符,让这些文件变成:1.pdf、2.pdf、3.pdf。。。。
我希望路径是固定的,(我文件就放在这个固定目录下),比如:E:\test
求助大神!!!
3QQQQ。。。。
作者: yhcfsr    时间: 2019-4-13 09:51

先备份源文件
  1. @echo off
  2. for /f "delims=" %%a in ('dir /a-d/s/b *.pdf') do (
  3. set "fullName=%%a"
  4. set "name=%%~nxa"
  5. setlocal enabledelayedexpansion
  6. set "name=!name:* =!"
  7. ren "!fullName!" "!name!"
  8. endlocal
  9. )
复制代码

作者: zaqmlp    时间: 2019-4-13 12:00

  1. @echo off
  2. set info=互助互利,支付宝扫码头像,感谢赞助
  3. rem 有问题,可加QQ956535081及时沟通
  4. title %info%
  5. start mshta VBScript:Execute("msgbox(""%info%""):close")
  6. cd /d "%~dp0"
  7. powershell ^
  8.     dir *.pdf -r^|?{($_ -is [System.IO.FileInfo]) -and ($_.BaseName -match '\s\d+$')}^|%%{^
  9.         $newname=($_.BaseName -replace '^^.+\s','')+$_.Extension;$newfile=$_.Directory.FullName+'\'+$newname;^
  10.         write-host ($_.FullName+' --^> '+$newname);^
  11.         mv -liter $_.FullName $newfile;^
  12.     }
  13. pause
复制代码

作者: xidhgood    时间: 2019-4-13 15:20

回复 1# xidhgood


    大神,这个批处理可以放在其它位置用吗?比如我放在桌面来运行,但是我要作用的目录还是在E盘的TEST下,要如何修改呢?
作者: zaqmlp    时间: 2019-4-13 15:27

cd /d "%~dp0"改为cd /d "E:\test"
作者: xidhgood    时间: 2019-4-13 15:43

回复 5# zaqmlp


    非常感谢!
作者: zaqmlp    时间: 2019-4-13 16:03

回复 6# xidhgood
那就赞助下吧
作者: xidhgood    时间: 2019-4-13 16:06

回复 7# zaqmlp


    赞了~
作者: zaqmlp    时间: 2019-4-13 16:07

回复 8# xidhgood

感谢,互助互利




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2