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

[文本处理] 批处理怎样按照列出的文件顺序在文件名后面添加/插入递增数字后缀

本帖最后由 pcl_test 于 2017-4-12 13:18 编辑

是能够把一个文件夹里所有的文件名都改成XXX-001,XXX-002,XXX-003(XXX为我需要改的文件名,而且XXX可能为中文)以此类推。。。。初来乍到希望各位大大能帮帮忙!!太感谢了!

回复 10# gawk


    谢谢帮忙,已经能用了!!

TOP

回复 9# yangfengoo


    谢谢帮忙,好了太谢谢了!!!

TOP

回复 6# ppokmm
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set n=1000
  4. for /f "delims=" %%a in ('dir /s /b /a-d') do (
  5.     if "%%a" neq "%~f0" (
  6.         set /a n+=1
  7.         ren "%%a" "%%~na-!n:~-3!%%~xa"
  8.     )
  9. )
复制代码

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set q=%~nx0
  4. set p=前面的XXX
  5. set n=1000
  6. for /f "delims=" %%a in ('dir /s/b /a-d') do (
  7.    
  8.     if not "%%~nxa"=="!q!" (
  9. echo "%%~a" "!q!"
  10.     set/a n+=1
  11.     ren "%%~a" "!p!-!n:~-3!%%~xa"
  12.   )
  13. )
  14. pause
复制代码

TOP

本帖最后由 ppokmm 于 2012-5-10 11:03 编辑

回复 7# yangfengoo


    还是不行!!还是会连批处理的文件名一起改掉!!!
而且我又发现一个问题本来我是想先用window xp将所有文件改成一个文件名然后在用批处理加入后面的-001,-002,但现在我用windowxp改名后会出现文件名XXX(1),XXX(2)依次类推。这应该是XXX为同一汉字或者字母所以在同一目录下windows会将其加后缀以区分,能不能用批处理直接将文件名改为XXX-001,XXX-002这种格式XXX为同一中文或者字母,应为我现在要将n多的文件这样改名一个一个改实在太不麻烦了,麻烦各位大大帮帮忙啊!!!

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set q=%~nx0
  4. set n=1000
  5. for /f "delims=" %%a in ('dir /s /b /a-d') do (
  6.     set /a n+=1
  7.     ren "%%a" "%%~na-!n:~-3!%%~xa"
  8. )
  9. ren %~nx0 %q%
复制代码

TOP

回复 4# gawk


    不过现在又出现一个问题,在改文件名的时候这个批处理会把自己的名字也一起改了。。。能不能再完善一下呢

TOP

太感谢了

TOP

回复 3# ppokmm
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set n=1000
  4. for /f "delims=" %%a in ('dir /s /b /a-d') do (
  5.     set /a n+=1
  6.     ren "%%a" "%%~na-!n:~-3!%%~xa"
  7. )
复制代码

TOP

回复 2# gawk
你好

    谢谢你能帮我,单我想问下这个批处理如何用刚用了下不能改啊,是不是就是放在需要改的文件夹里就行了还是要怎么弄!!!

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set n=1000
  4. for /f "delims=" %%a in ('dir /s /b /a-d') do (
  5.     set /a n+=1
  6.     echo ren "%%a" "%%~na-!n:~-3!%%~xa"
  7. )
复制代码

TOP

返回列表