重命名文件与父目录名相同的批处理命令怎么写

来源:百度知道 编辑:UC知道 时间:2024/05/23 14:07:56
如题
例如父目录名为杀手 文件为01.rmvb;第二个父目录为美女 文件也是01.rmvb,诸如此类。

你的答案很好,只是当目录中需要重命名的文件只有一个时,文件名应为杀手.rmvb,需要重命名的文件有多个是,文件名为美女01.rmvb,美女02.rmvb

如果不行,只要有01、02就行

谢谢了~~

@echo off&&setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /s/b/ad') do (
set num=0
for /f "delims=" %%b in ('dir /b "%%a"\*.rmvb') do (
set /a num+=1
if !num! equ 1 (ren "%%a\%%b" "%%~na.rmvb") else (ren "%%a\%%b" "%%~na0!num!.rmvb"&&if exist "%%a\%%~na.rmvb" ren "%%a\%%~na.rmvb" "%%~na01.rmvb")
))
rem ************************
rem 星号以上代码另存为xx.bat,放在你要处理的目录中。
rem 有问题百度消息我。

举例说明一下吧?

呼~ 终于搞好了 老实说写这个真花了点时间 走弯路了 哎
下面的代码复制保存为 .bat 放到和父目录同一路径下 执行就可以了
@echo off
setlocal enabledelayedexpansion
dir /b/a:d>1.txt
for /f "delims=" %%i in (1.txt) do (
set n=1
echo %%i
cd "%%i"&&dir /b *.rmvb>1.txt
for /f "delims=" %%a in (1.txt) do (
ren "%%a" %%i!n!.rm