楼 主
文件批量命名
发表于 2007-01-13 03:28 · IANA 局域网IP(Private-Use)
中级用户
★★
蝴蝶之吻
积分 430 发帖 177 注册 2006-09-20 12:00 19年会员 UID 63170 来自 广东深圳
状态 离线
for %%z in (c d) do (
for /f "tokens=*" %%i in ('dir /a-d /s /b "%%z:\zou.zzx"') do (
echo.%%i>>"%cd%\zou.txt"
))
zou.txt结果是:
c:\z\ubb\zou.zzx
c:\age\zou.zzx
d:\zouzhxi\image\player_images\zou.zzx
d:\zouzhxi\image\webimages\zou.zzx
我想把这些文件统一复制到一个名为(zou)的文件夹里.这时出现问题了.
因为,所有文件名是一样的.最终也只有一个zou.zzx的文件.
让复制出来的文件前面加上(序号_zou.zzx)这样的名字,
zou文件夹里变成这样的:
1_zou.zzx
2_zou.zzx
3_zou.zzx
...
能不能在里边加上一段:
set n=0
set /a n=n+1
可不可以呀...
有什么办法可以做到了...谢谢...
第 2 楼
发表于 2007-01-13 03:34 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386 发帖 4,938 注册 2006-07-23 17:10 20年会员 UID 59080
状态 离线
@echo off&Setlocal EnableDelayedExpansion
set num=1
for /f "delims=" %%a in (zou.txt) do (
copy "%%a" zou\!num!_zou.zzx
set /a num+=1
)
pause
::没有测试,试试看。
第 3 楼
发表于 2007-01-13 03:49 · IANA 局域网IP(Private-Use)
中级用户
★★
蝴蝶之吻
积分 430 发帖 177 注册 2006-09-20 12:00 19年会员 UID 63170 来自 广东深圳
状态 离线
我试了.不行了...
for %%z in (c d) do (
for /f "tokens=*" %%i in ('dir /a-d /s /b "%%z:\zou.zzx"') do (
echo.copy "%%i" "%cd%\Recycled_file\">>"%cd%\py.cmd"
))
call "%cd%\py.cmd"
能不能在"%cd%\Recycled_file\(这里先加上序号)_zou.zzx"
在py.cmd文件是这样的.
copy "c:\z\ubb\zou.zzx" "%cd%\Recycled_file\1_zou.zzx"
copy "c:\age\zou.zzx" "%cd%\Recycled_file\2_zou.zzx"
第 4 楼
发表于 2007-01-13 03:52 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386 发帖 4,938 注册 2006-07-23 17:10 20年会员 UID 59080
状态 离线
我试了我的,是可行的。不知道你为什么不行。
你的思路复杂了。
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正