Board logo

标题: [文件操作] 【已解决】BAT批量处理文件改名问题,望各位老师指教! [打印本页]

作者: ruoru376    时间: 2015-1-27 10:27     标题: 【已解决】BAT批量处理文件改名问题,望各位老师指教!

本帖最后由 ruoru376 于 2015-2-12 14:42 编辑

下面代码功能是:目录下 多文件夹 里面  文件名 都改成 001到N。
但是我发现很多文件不能改名,至于都有哪些文件呢,没有统计过…
比如,文件名为:”循环带_37.txt“ “循环带_38.txt” “1  .txt” (引号里面为文件名),就不能改名。
不能传附件悲剧很!希望大神帮我看看!
  1. @echo off&setlocal enabledelayedexpansion
  2. for  /r /d %%a in (*.*) do (
  3. pushd "%%a"
  4. set n=1000
  5. for /f "delims=" %%B in ('dir /a-d /b /on') do (
  6. set /a n+=1
  7. set m=!n:~1!
  8. ren "%%~fsB" "!m!%%~xB"
  9. )
  10. popd
  11. )
复制代码
上面代码是目录下所有文件夹下文件改名,能不能只改指定几个文件夹下的文件。例如:目录下有 a b c d 四个文件夹,指定只改a b文件夹下的   其他的 不做修改。
作者: DAIC    时间: 2015-1-27 13:37

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for %%a in (a b) do (
  4.     pushd "%%a"
  5.     set n=1000
  6.     for /f "delims=" %%b in ('dir /a-d /b /on') do (
  7.         set /a n+=1
  8.         set m=!n:~1!
  9.         ren "%%b" "!m!%%~xb"
  10.     )
  11.     popd
  12. )
复制代码

作者: ruoru376    时间: 2015-1-27 13:59

回复 2# DAIC
非常好!!!非常感谢!
作者: ruoru376    时间: 2015-1-27 14:12

回复 2# DAIC
你好!能不能指定文件类型(后缀)修改……比如:只命名*.txt类型的。其他的不修改……
作者: DAIC    时间: 2015-1-27 14:15

回复 4# ruoru376


@echo off
setlocal enabledelayedexpansion
for %%a in (a b) do (
    pushd "%%a"
    set n=1000
    for /f "delims=" %%b in ('dir /a-d /b /on *.txt') do (
        set /a n+=1
        set m=!n:~1!
        ren "%%b" "!m!%%~xb"
    )
    popd
)
作者: ruoru376    时间: 2015-1-27 14:22

回复 5# DAIC


    :loveliness: 可以了。呵呵




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