标题: 请教对多个文件夹下的文件名操作
[打印本页]
作者: hcgkiller
时间: 2008-2-29 22:09
标题: 请教对多个文件夹下的文件名操作
目录下有多个文件夹
要把每个文件夹下的TXT文件名重命名为各自的上级文件夹同名
比如: 原文件 目标:
d:\abc\12.txt d:\abc\abc.txt
d:\bnv\11.txt d:\bnv\bnv.txt
d:\nnn\22.txt d:\nnn\nnn.txt
.................. .....................
将txt自动重命名为与文件夹同名的TXT
请大家赐教!!感谢!
作者: hcgkiller
时间: 2008-2-29 22:22
前辈出手啊
作者: terse
时间: 2008-2-29 22:25
如有多个文件怎么办?
@echo off
for /f "delims=" %%i in ('dir /s /b /a-d "*.txt" 2^>nul') do (
for /f "tokens=*" %%a in ("%%~fi\..") do ren "%%~fi" "%%~na%%~xi"
)
pause
[
Last edited by terse on 2008-2-29 at 10:54 PM ]
作者: suntb
时间: 2008-2-29 22:55
楼主意思是将某个分区的根目录下所有文件夹中的txt自动重命名为与文件夹同名的TXT?
作者: ngd
时间: 2008-3-1 23:17
@echo off
for /f "delims=" %%a in ('dir /s/b/ad') do (
for /f "delims=" %%b in ('dir /b "%%a"\*.txt') do (
ren "%%a\%%b" "%%~na%%~xb"
)
)
如果同一目录下有多个txt文件就使用下面的代码
@echo off & SetLocal EnableDelayedExpansion
for /f "delims=" %%a in ('dir /s/b/ad') do (
set num=1000
for /f "delims=" %%b in ('dir /b "%%a"\*.txt') do (
set /a num+=1
ren "%%a\%%b" "%%~na-!num:~-3!%%~xb"
)
)
[
Last edited by ngd on 2008-3-1 at 11:18 PM ]