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

[文件操作] 【已解决】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文件夹下的   其他的 不做修改。

  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. )
复制代码

TOP

回复 2# DAIC
非常好!!!非常感谢!

TOP

回复 2# DAIC
你好!能不能指定文件类型(后缀)修改……比如:只命名*.txt类型的。其他的不修改……

TOP

回复 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
)

TOP

回复 5# DAIC


    :loveliness: 可以了。呵呵

TOP

返回列表