楼 主
[已结]文件移动到含该文件名字符的批处理?
发表于 2008-10-25 23:32 · 中国 重庆 合川区 电信
新手上路
★
积分 17 发帖 12 注册 2007-09-11 21:05 18年会员 UID 97122 性别 男
状态 离线
各位老大好。
本人有个KTV歌库需要重新归类,把一个目录下的文件移动到含文件名字符文件夹目录下(目录已批量建好)。
如:
目录名:张学友
歌曲名:张学友-夕阳醉了.wmv
……
张学友-心如刀割.wmv
要求把“张学友-夕阳醉了.wmv……张学友-心如刀割.wmv”等文件移动到张学友目录下。当然还有N个其他歌手的歌曲。
求助各位老大们!!谢谢了。
[ Last edited by HAT on 2008-10-27 at 14:12 ]
第 2 楼
发表于 2008-10-25 23:59 · 中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105 发帖 1,276 注册 2008-03-08 13:00 18年会员 UID 112398 性别 男
状态 离线
假设批量建立的目录是在d:\music下
@echo off
for /f "delims=" %%a in ('dir /s /a-d /b d:\*.wmv') do (
for /f "delims=-" %%i in ("%%~na") do move /y "%%a" d:\music\%%i\
)
echo 搞定了!&pause>nul
批处理之家新域名:www.bathome.net
第 3 楼
发表于 2008-10-26 01:16 · 中国 江西 赣州 电信
银牌会员
★★★★
积分 2,025 发帖 1,122 注册 2007-09-05 20:15 18年会员 UID 96653 性别 男
状态 离线
@echo off
cd /d "d:\music\"
for /f "delims=" %%a in ('dir /a:d /b') do (
move /y "%%a*" "%%a" >nul 2>nul
)
以上代码适用于文件不存在于子文件夹中。请问楼主,歌曲文件有在子文件夹中吗?
如果存在于子文件夹中,用下面的:
@echo off
cd /d "D:\music\"
for /f "delims=" %%a in ('dir /a:d /b') do (
for /f "delims=" %%b in ('dir /s /a:-d /b "%%a*" 2^>nul') do (
move "%%b" "%%a" >nul 2>nul
)
)
[
Last edited by tireless on 2008-10-26 at 01:47 ]
第 4 楼
发表于 2008-10-26 21:43 · 中国 重庆 渝中区 电信
新手上路
★
积分 17 发帖 12 注册 2007-09-11 21:05 18年会员 UID 97122 性别 男
状态 离线
第 5 楼
发表于 2008-10-26 22:02 · 中国 重庆 渝中区 电信
新手上路
★
积分 17 发帖 12 注册 2007-09-11 21:05 18年会员 UID 97122 性别 男
状态 离线
如果该目录下的空歌手目录没有建立,怎么用一个批量文件先建立歌手目录后移动相应文件到相应歌手目录?再次感谢!!
[ Last edited by tang0826 on 2008-10-26 at 22:04 ]
第 6 楼
发表于 2008-10-26 22:21 · 中国 江西 赣州 电信
银牌会员
★★★★
积分 2,025 发帖 1,122 注册 2007-09-05 20:15 18年会员 UID 96653 性别 男
状态 离线
疑问:
1.文件有在子文件夹中吗?
2.文件名都是这种规则?
张学友-夕阳醉了.wmv
周杰伦-彩虹.mp3
(短横线 -是全角的?)
第 7 楼
发表于 2008-10-26 22:33 · 中国 重庆 渝中区 电信
新手上路
★
积分 17 发帖 12 注册 2007-09-11 21:05 18年会员 UID 97122 性别 男
状态 离线
有子文件夹,文件名全都改为了全角短横线的。
谢谢!!
第 8 楼
发表于 2008-10-26 23:07 · 中国 江西 赣州 电信
银牌会员
★★★★
积分 2,025 发帖 1,122 注册 2007-09-05 20:15 18年会员 UID 96653 性别 男
状态 离线
@echo off
cd /d "D:\music\"
for /f "delims=-" %%a in ('dir /s /a:-d /b') do (
md "%%~na" 2>nul
move "%%~a*" "%%~na" 2>nul >nul
)
第 9 楼
发表于 2008-10-27 13:11 · 中国 重庆 渝中区 电信
新手上路
★
积分 17 发帖 12 注册 2007-09-11 21:05 18年会员 UID 97122 性别 男
状态 离线
Originally posted by tireless at 2008-10-26 11:07 PM:
@echo off
cd /d "D:\music\"
for /f "delims=-" %%a in ('dir /s /a:-d /b') do (
md "%%~na" 2>nul
move "%%~a*" "%%~na" 2>nul > ...
这段代码没有成功,老大!
第 10 楼
Re 9 楼
发表于 2008-10-27 13:25 · 中国 江西 赣州 电信
银牌会员
★★★★
积分 2,025 发帖 1,122 注册 2007-09-05 20:15 18年会员 UID 96653 性别 男
状态 离线
执行结果是什么?替换了其中的 D:\music\ 吗?
第 11 楼
发表于 2008-10-27 13:32 · 中国 重庆 渝中区 电信
新手上路
★
积分 17 发帖 12 注册 2007-09-11 21:05 18年会员 UID 97122 性别 男
状态 离线
第 12 楼
发表于 2008-10-27 13:38 · 中国 江西 赣州 电信
银牌会员
★★★★
积分 2,025 发帖 1,122 注册 2007-09-05 20:15 18年会员 UID 96653 性别 男
状态 离线
请问你替换了其中的 D:\music\ 吗?这个要换成你的那个音乐文件目录。
第 13 楼
发表于 2008-10-27 13:40 · 中国 重庆 渝中区 电信
新手上路
★
积分 17 发帖 12 注册 2007-09-11 21:05 18年会员 UID 97122 性别 男
状态 离线
第 14 楼
发表于 2008-10-27 13:55 · 中国 江西 赣州 电信
银牌会员
★★★★
积分 2,025 发帖 1,122 注册 2007-09-05 20:15 18年会员 UID 96653 性别 男
状态 离线
以下是我做的测试:
执行批处理前的文件分布:
G:\KTV>tree /f
卷 文件 的文件夹 PATH 列表
卷序列号码为 000007C0 02C4:B98C
G:.
│ 周杰伦- 魔杰座-11 稻香.mp3
│
├─2
│ 林俊杰 -江南.wmv
│
└─3
│ 蔡依林-love love love.mp3
│
└─新建文件夹
林俊杰 - - 就是我.mp3
执行批处理后的文件分布:
G:\KTV>tree /f
卷 文件 的文件夹 PATH 列表
卷序列号码为 000007C0 02C4:B98C
G:.
├─2
├─3
│ └─新建文件夹
├─周杰伦
│ 周杰伦- 魔杰座-11 稻香.mp3
│
├─林俊杰
│ 林俊杰 -江南.wmv
│ 林俊杰 - - 就是我.mp3
│
└─蔡依林
蔡依林-love love love.mp3
[ Last edited by tireless on 2008-10-28 at 16:57 ]
第 15 楼
发表于 2008-10-27 14:04 · 中国 重庆 渝中区 电信
新手上路
★
积分 17 发帖 12 注册 2007-09-11 21:05 18年会员 UID 97122 性别 男
状态 离线
谢谢老大了,把这段代码中的全角"-"替换为半角的"-"就行了。谢谢了
for /f "delims=-" %%a in ('dir /s /a:-d /b') do (
for /f "delims=-" %%a in ('dir /s /a:-d /b') do (
[ Last edited by tang0826 on 2008-10-27 at 14:07 ]
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正