Board logo

标题: [文件操作] [已解决]批量修改文件名的批处理代码 [打印本页]

作者: sgaizxt001    时间: 2010-1-20 18:33     标题: [已解决]批量修改文件名的批处理代码

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /p var=请输入文件夹名称:
  4. md %var%
  5. if exist *%var%*.txt move *%var%*.txt %var%\. 1>nul 2>nul
  6. for /f %%i in ('dir /a-d /b .\%var%\*%var%*.txt') do (set /a a+=01
  7.                                                       ren .\%var%\*.txt "%var%!a!".txt)
  8. pause
复制代码
本意是想修改电影名字的,我测试的时候是新建了abcd1.txt-abcd4.txt,4个TXT文件。我假设a和d都是我不需要的信息,bc是电视剧的名字,1是电视剧的剧集,然后我就只想要bc1。因为我是网吧的服务员,我在服务器上下电视剧后,比如:电影天堂(www.dygod.com)神话01(dvd).rmvb。我要修改名字进行电影入库,很麻烦,加上现在学习批处理,所以就想写这么一个自动改名字的批处理,就写了上面这个,在运行后就出现了如下的错误,并且不能得到bc01,只能获得bc1。经再次测试,对于中文文件名也不能实现,提示无法找到文件。恳请斑竹解锁,我已经修改了标题,并PM你了
[attach]2166[/attach]
作者: Batcher    时间: 2010-1-20 19:49

能否在顶楼给出报错信息?
作者: Batcher    时间: 2010-1-21 12:41

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /p "var=请输入文件夹名称:"
  4. md "%~dp0%var%"
  5. move "%~dp0*%var%*.txt" "%~dp0%var%\"
  6. set num=100
  7. for /f "delims=" %%a in ('dir /a-d /b "%~dp0%var%\*.txt"') do (
  8.     set /a num+=1
  9.     set sufix=!num:~-2!
  10.     ren "%~dp0%var%\%%a" "%var%!sufix!.txt"
  11. )
复制代码





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