Board logo

标题: [已解决]求解个批量修改文件夹名字批处理 [打印本页]

作者: qubin1979     时间: 2010-1-24 16:40    标题: [已解决]求解个批量修改文件夹名字批处理

有个a的文件夹,里面多个qqq20100111,qqq20100112,qqq20100113,qqq
20100114这样的文件夹,并且每个文件夹里面有个a.txt的文档,我想把a.txt文档里面内容的第二行的第3个字符后面的字符提取出来作为qqq20100111,qqq20100112,qqq20100113,qqq20100114文件夹的名字

a\qqq20100111\www.txt
a\qqq20100112\www.txt
a\qqq20100113\www.txt
a\qqq20100114\www.txt


得到的结果是把文档里面的字符提取作为文件夹的名字

a\名字20100111
a\名字20100112
a\名字20100113
a\名字20100114

[ Last edited by qubin1979 on 2010-1-27 at 13:18 ]
作者: qubin1979     时间: 2010-1-24 23:10
会的大哥给我写写啊      急着用    谢谢了
作者: qinchun36     时间: 2010-1-25 10:04
放到你那个 a 文件夹下面运行,你先看看这个显示的对不对,免得搞错了。

如果对的话就把 echo ren "!d!" "!str!!t!" 那句的 echo 去掉就行了
@echo off
::文件夹名最前面的要替换的字符串
set "ching=qqq"
::文件夹下面的那个文本文件名字
set "fn=a.txt"
setlocal enabledelayedexpansion
for /f "delims=" %%d in ('dir /b /ad %ching%*') do (
  set "d=%%d"
  set "t=!d:%ching%=!"
  set /a n=0
  for /f "delims=" %%s in ('type "%%d\%fn%"') do (
    set /a n+=1
    if !n!==2 (
      set "str=%%s"
      set "str=!str:~4!"
      echo ren "!d!" "!str!!t!"
    )
  )
)
pause>nul

作者: qubin1979     时间: 2010-1-27 13:17
谢谢了楼上的朋友