标题: [文件操作] [已解决]批处理如何使xcopy显示复制内容的同时将内容写入文件 [打印本页]
作者: nightwishfan 时间: 2009-2-25 20:35 标题: [已解决]批处理如何使xcopy显示复制内容的同时将内容写入文件
问题已解决,达到我期望的结果了,只是不知道有没有更高效的代码。
这是一个备份音乐文件到移动硬盘的批处理。
使用时它会在那个黑色窗口显示复制的文件名的同时,把文件名写入到一个文本文件里,方便查阅更新的信息。
因为备份文件是不定时的,这个批处理在备份音乐文件的时候不覆盖原来备份好的文件。- @echo off
- echo 更新mp3文件:>>更新目录.txt
- xcopy D:\音乐\*.mp3 H:\音乐 /l/s/h/d/y
- ::之前没有上面这一句xcopy代码,加了一个/l的参数,就能显示复制的文件名了
- ::不加上面带参数 /l 的一句代码,结果只复制,不显示复制的文件名
- ::不知道为什么,望高手指导
- xcopy D:\音乐\*.mp3 H:\音乐 /s/h/d/y>>更新目录.txt
- echo mp3文件更新完毕>>更新目录.txt
- echo --------------------------------------------------------------->>更新目录.txt
- echo 更新wma文件:>>更新目录.txt
- xcopy D:\音乐\*.wma H:\音乐 /l/s/h/d/y
- xcopy D:\音乐\*.wma H:\音乐 /s/h/d/y>>更新目录.txt
- echo wma文件更新完毕>>更新目录.txt
- echo --------------------------------------------------------------->>更新目录.txt
- echo 更新歌词文件:>>更新目录.txt
- xcopy D:\音乐\*.lrc H:\音乐 /l/s/h/d/y
- xcopy D:\音乐\*.lrc H:\音乐 /s/h/d/y>>更新目录.txt
- echo 歌词文件更新完毕>>更新目录.txt
- echo --------------------------------------------------------------->>更新目录.txt
- echo 音乐文件备份完毕!>>更新目录.txt
- pause
复制代码
[ 本帖最后由 nightwishfan 于 2009-3-2 21:38 编辑 ]
作者: Batcher 时间: 2009-2-25 20:48
可以借助第三方命令行工具tee.exe
本版规则
1、求代码、寻求代码解释、探讨代码得失的帖子均可发在本版块,其余话题禁止在本版讨论;
2、求助时,务必在顶楼一次性把问题交代清楚;若文字难以表述,请配图说明,或是上传附件;但是,一切操作应从节约论坛资源的角度出发,能文字说明清楚的就无需再发图片,小图能说明问题的尽量不截全图,在不影响效果的前提下尽量压缩图片及附件;
3、所发代码若不止一行,请务必用code标记把代码部分首尾括起来,以便他人复制;
Q: 如何用code把代码扩起来?
A: http://bbs.bathome.net/thread-404-1-1.html
作者: nightwishfan 时间: 2009-2-25 22:37 标题: 回复 2楼 的帖子
哦,我去查一查使用方法,谢谢了
作者: batman 时间: 2009-2-25 23:25
这个完全可以用for来解决:
- @echo off
- for %%a in (mp3 wma lrc) do (
- echo 更新%%a文件:&echo 更新%%a文件:>>更新目录.txt
- for /f "delims=" %%b in ('dir /s /b d:\音乐\*.%%a') do (
- copy /y %%b H:\音乐\
- echo %%~nxb已被更新&echo %%~nxb已被更新>>更新目录.txt
- )
- echo %%a文件更新完毕&echo %%a文件更新完毕>>更新目录.txt
- echo ---------------------------------------------------------------&echo --------------------------------------------------------------->>更新目录.txt
- )
- echo 音乐文件备份完毕!&echo 音乐文件备份完毕!>>更新目录.txt
- pause>nul
复制代码
[ 本帖最后由 batman 于 2009-2-25 23:28 编辑 ]
作者: nightwishfan 时间: 2009-2-26 08:15 标题: 回复 4楼 的帖子
谢谢你了。
这个代码是不是在同一个目录下寻找mp3 wma lrc 文件?因为我看它的运行结果里有这么一句:系统找不到指定文件。而且 那个copy命令是不是拷贝时把原文件覆盖了?我不想覆盖啊,因为歌曲文件太多了,覆盖的话会很费时……
作者: batman 时间: 2009-2-26 09:21
看来是楼主没能一次性把要求描述清楚,请楼主以后发贴注意这一点:论坛是做不到QQ
聊天的及时性的,你要解决问题就要一次性描述清楚,别人不会一天到晚守着你的贴子
来看的。。。
作者: Batcher 时间: 2009-2-26 09:29 标题: 回复 5楼 的帖子
请跟新顶楼的帖子,把跳过重复文件的要求加进去,以便后来人查看。
作者: nightwishfan 时间: 2009-2-26 18:30 标题: 回复 6楼 的帖子
多谢提醒!我会注意的
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |