Board logo

标题: [求助]批处理改文件夹名为数字名 [打印本页]

作者: sea1112     时间: 2008-12-23 08:36    标题: [求助]批处理改文件夹名为数字名

C:\xx\MP3a21
C:\xx\new36
C:\xx\MP3a24\new36
C:\xx\MP3a24\ok
C:\xx\MP3a24\新建文件夹
C:\xx\MP3a24\电影!n!
C:\xx\MP3a24\new36\MP3a24
C:\xx\MP3a24\new36\新建文件夹 (2)
C:\xx\MP3a24\new36\MP3a24\MP3a24
C:\xx\MP3a24\new36\MP3a24\MP3a24\MP3a24
C:\xx\MP3a24\ok\new36
C:\xx\MP3a24\电影!n!\gh,l

目录格式,如何批改为象下边的数字文件夹,是数字格式就行
C:\1\2
C:\1\3
C:\1\4\5
C:\1\4\6
C:\1\4\7
C:\1\4\8
C:\1\4\9\12
C:\1\4\9\13
C:\1\4\9\14\17
C:\1\4\9\14\17\18
C:\1\4\10\15
C:\1\4\11\16

[ Last edited by sea1112 on 2008-12-24 at 10:26 ]
作者: tongzj     时间: 2008-12-23 16:21
setlocal enabledelayedexpansion
set num=1
ren c:\xx 0
echo.>command.txt
for /f "tokens=*" %%a in ('dir /b /s /ad c:\0') do (
  echo ren "%%a" !num!>>command.txt
  set /a num+=1
  )
sort /r command.txt /o command.bat
call command.bat
作者: sea1112     时间: 2008-12-23 19:12


  Quote:
Originally posted by tongzj at 2008-12-23 04:21 PM:
setlocal enabledelayedexpansion
set num=1
ren c:\xx 0
echo.>command.txt
for /f "tokens=*" %%a in ('dir /b /s /ad c:\0') do (
  echo ren "%%a" !num!>>command.txt
  ...

另一个程序正在使用此文件,进程无法访问。
作者: wxcute     时间: 2008-12-23 20:06
神仙也许能做到。
第一层的 xx 变 1,可以;
第二层的 MP3a24 变了 2 又要变 4,还要显示出来,这是绝对不可能的。