求助大神,给文件重命名的批处理

在每个子文件夹名字后面加上总文件夹名字,把每个子文件夹名重命名为:子文件夹名+总文件夹名一个总文件夹‘灌篮高手’,里面有很多子文件夹,分别是001,002,003..... 把子文件夹重命名为001灌篮高手,002灌篮高手,003灌篮高手.....

美女一枚给大神养眼了
我没有描述清楚,我的意思是::有好多个文件夹分别是001,002,003......(我叫他主文件名) 001文件夹里面有文件夹樱木花道,002有流川枫,003有宫城,004......(叫子文件名) 我要把子文件夹批量重命名为樱木花道001,流川枫002,宫城003..... 把子文件夹名字重命名为:子文件名+主文件名

第1个回答  2014-03-19

一个文件管理工具能帮到你,他叫Total Commander 7.02a

在里面进入你的文件夹总目录(比如,D:\灌篮高手),按Ctrl+B把文件都列出来,按Ctrl+A全选,按F1,在重命名表达式:文件名(对话框左上角)输入“[N][=filex.上层文件夹]”,再按右下角的“开始”就完成啦。


如果是文件夹要重命名的话就别用Ctrl+B,直接Ctrl+A来选。

这个软件有时候会使用右键来选定文件,虽不用按Ctrl来选择则多个文件但是需要一点点时间来适应。


****************************************************

呵呵,要求挺高的一定要批处理,不过难不倒我滴。记得要放在主文件夹里面双击哦。好用就采纳一下谢谢~注意主文件夹本身名字不能有空格

@echo off
set "lj=%~p0"
set "lj=%lj:\= %"
for %%a in (%lj%) do set wjj=%%a
echo 当前文件夹是:%wjj%,要开始修改子文件夹名,
pause
FOR /F "delims==" %%i IN ('dir /ad /b') DO rename "%%i" "%%i%wjj%"
echo 已完成。
pause

来自:求助得到的回答
第1个回答  2014-03-19
@echo off
setlocal EnableDelayedExpansion
set f=%~p0
set f=%f:~1,-1%
for /l %%i in (1,1,50) do (
if "!f:~%%i,1!"=="\" set /a n=%%i+1
)
set /a n+=1&&set f=!f:~%n%!

for /f "delims=" %%a in ('dir /s /b /ad') do ren %%a %%a!f!
pause

没测试过 楼主试试

第2个回答  2014-03-18
额,写一个脚本吧。。。windows的脚本不会写,linux下倒是可以效劳,不过估计我没机会效劳了。
相似回答