联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
Originally posted by createfree at 2010-9-11 04:26 PM: 搜索无果,特求 文件夹a下有很多文件夹b,c.......,b,c....文件夹下各有多个文件excel文件。 要求:将这些文件改名为其 文件夹名n.xls 效果如:b1.xls; ...
@echo off & setlocal enabledelayedexpansion & title By Bozhou & color 0a :请先设置目录 set p1=%cd% cd /d "%p1%" :获取目录以及文件并重命名文件 for /f "delims=*" %%a in ('dir /ad /b') do ( cd "%%a" set n=0 for /f "delims=*" %%b in ('dir /b /on *.xls') do ( set /a n=n+1 if !n! lss 10 (ren "%%b" "%%a"0!n!.xls) else (ren "%%b" "%%a"!n!.xls) ) :移动文件 move *.xls ..\ cd.. :删除空文件夹 :若需要请将下行冒号去掉 :rd /s /q "%%a" echo>nul ) pause
Originally posted by createfree at 2010-9-12 04:38 PM: 终于发现了问题 我的文件夹是以这样一种方式命名的: 1.a 2.b 要将 数字. 去掉才行
@echo off & setlocal enabledelayedexpansion & title By Bozhou & color 0a :请先设置目录,并确保将要被操作的文件以及文件夹没被运行占用 set p1=%cd% cd /d "%p1%" :获取目录并更改目录名(将文件夹名1.a改成a) for /f "tokens=1,2 delims=." %%i in ('dir /ad /b') do ren "%%i"."%%j" "%%j" :获取目录以及文件并重命名文件 for /f "delims=*" %%a in ('dir /ad /b') do ( cd "%%a" set n=0 for /f "delims=*" %%b in ('dir /b /on *.xls') do ( set /a n=n+1 if !n! lss 10 (ren "%%b" "%%a"0!n!.xls) else (ren "%%b" "%%a"!n!.xls) ) :移动文件 move *.xls ..\ cd.. :删除空文件夹 :若需要请将下行冒号去掉 :rd /s /q "%%a" echo>nul ) echo 操作完成! pause