中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-08 18:18
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 将每个文件夹下的文件移到目录下并按名字+数字命名 查看 714 回复 5
楼 主 将每个文件夹下的文件移到目录下并按名字+数字命名 发表于 2008-05-23 21:36 ·  中国 江苏 南京 电信
新手上路
积分 5
发帖 2
注册 2007-06-28 16:15
19年会员
UID 92594
性别 男
状态 离线
因为急用,for我又不太熟练,只能到这里你求个批了,见谅!
不说爱你\be-0522-bsan11-15_28533\不说爱你_87125\20080515175525_不说爱你HIGH.low.ts 加粗的下一层还有几个类似的文件夹。并且每个下都有.ts的文件。要实现的效果就是把每个ts文件转移到根目录下,并以不说爱你1.ts 不说爱你2.ts命名
还请高人指点
2 发表于 2008-05-23 21:50 ·  中国 湖南 娄底 电信
银牌会员
★★★
积分 2,268
发帖 879
注册 2006-12-19 16:23
19年会员
UID 73968
性别 男
状态 离线
你的意思是把 不说爱你 这个文件夹(含子文件夹)里的所有.ts文件都移动到根目录下来吗?
致精致简!
3 发表于 2008-05-23 21:51 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
如不说爱你文件夹不是在根目录下,请将%cd%不说爱你\改成完全路径了

@echo off&setlocal enabledelayedexpansion
cd\
for /f "delims=" %%i in ('dir /s /b %cd%不说爱你\*.ts') do (
set /a n+=1
move /y "%%i" %cd%
ren "%%~nxi" 不说爱你!n!.ts
)
echo 搞定!
pause>nul


[ Last edited by zw19750516 on 2008-5-23 at 10:02 PM ]
批处理之家新域名:www.bathome.net
4 发表于 2008-05-23 21:57 ·  中国 湖南 娄底 电信
银牌会员
★★★
积分 2,268
发帖 879
注册 2006-12-19 16:23
19年会员
UID 73968
性别 男
状态 离线
呵呵、楼上是把当前分区下的所有ts文件都移出来了啊。。
致精致简!
5 发表于 2008-05-23 22:03 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
Originally posted by 26933062 at 2008-5-23 21:57:
呵呵、楼上是把当前分区下的所有ts文件都移出来了啊。。

现在不是了吧

[ Last edited by zw19750516 on 2008-5-23 at 10:04 PM ]
批处理之家新域名:www.bathome.net
6 发表于 2008-05-23 22:04 ·  中国 天津 电信
银牌会员
★★★
永远的菜鸟
积分 1,335
发帖 574
注册 2007-11-27 12:50
18年会员
UID 103929
性别 男
来自 广西
状态 离线
错了,改过来了
@echo off
set "a=不说爱你"
::放在要运行的目录中,如果根目录为其它盘,请作适当更改
for /f "delims=" %%i in ('dir /s/b/a-d "*.ts"') do call :aa %%i
pause&goto :eof
:aa
pushd f:\
set /a n+=1
if exist %a%%n%.ts goto :aa
move /y %1 %a%%n%.ts
popd


[ Last edited by moniuming on 2008-5-23 at 10:12 PM ]
论坛跳转: