[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [已解决]批处理如何使xcopy显示复制内容的同时将内容写入文件

问题已解决,达到我期望的结果了,只是不知道有没有更高效的代码。
这是一个备份音乐文件到移动硬盘的批处理。
使用时它会在那个黑色窗口显示复制的文件名的同时,把文件名写入到一个文本文件里,方便查阅更新的信息。
因为备份文件是不定时的,这个批处理在备份音乐文件的时候不覆盖原来备份好的文件。
  1. @echo off
  2. echo 更新mp3文件:>>更新目录.txt
  3. xcopy D:\音乐\*.mp3 H:\音乐 /l/s/h/d/y
  4. ::之前没有上面这一句xcopy代码,加了一个/l的参数,就能显示复制的文件名了
  5. ::不加上面带参数 /l 的一句代码,结果只复制,不显示复制的文件名
  6. ::不知道为什么,望高手指导
  7. xcopy D:\音乐\*.mp3 H:\音乐 /s/h/d/y>>更新目录.txt
  8. echo mp3文件更新完毕>>更新目录.txt
  9. echo --------------------------------------------------------------->>更新目录.txt
  10. echo 更新wma文件:>>更新目录.txt
  11. xcopy D:\音乐\*.wma H:\音乐 /l/s/h/d/y
  12. xcopy D:\音乐\*.wma H:\音乐 /s/h/d/y>>更新目录.txt
  13. echo wma文件更新完毕>>更新目录.txt
  14. echo --------------------------------------------------------------->>更新目录.txt
  15. echo 更新歌词文件:>>更新目录.txt
  16. xcopy D:\音乐\*.lrc H:\音乐 /l/s/h/d/y
  17. xcopy D:\音乐\*.lrc H:\音乐 /s/h/d/y>>更新目录.txt
  18. echo 歌词文件更新完毕>>更新目录.txt
  19. echo --------------------------------------------------------------->>更新目录.txt
  20. echo 音乐文件备份完毕!>>更新目录.txt
  21. pause
复制代码

[ 本帖最后由 nightwishfan 于 2009-3-2 21:38 编辑 ]

可以借助第三方命令行工具tee.exe
本版规则
1、求代码、寻求代码解释、探讨代码得失的帖子均可发在本版块,其余话题禁止在本版讨论;
2、求助时,务必在顶楼一次性把问题交代清楚;若文字难以表述,请配图说明,或是上传附件;但是,一切操作应从节约论坛资源的角度出发,能文字说明清楚的就无需再发图片,小图能说明问题的尽量不截全图,在不影响效果的前提下尽量压缩图片及附件;
3、所发代码若不止一行,请务必用code标记把代码部分首尾括起来,以便他人复制;

Q: 如何用code把代码扩起来?
A: http://bbs.bathome.net/thread-404-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2楼 的帖子

哦,我去查一查使用方法,谢谢了

TOP

这个完全可以用for来解决:
  1. @echo off
  2. for %%a in (mp3 wma lrc) do (
  3.      echo 更新%%a文件:&echo 更新%%a文件:>>更新目录.txt
  4.      for /f "delims=" %%b in ('dir /s /b d:\音乐\*.%%a') do (
  5.           copy /y %%b H:\音乐\
  6.           echo %%~nxb已被更新&echo %%~nxb已被更新>>更新目录.txt
  7.     )
  8.    echo %%a文件更新完毕&echo %%a文件更新完毕>>更新目录.txt
  9.    echo ---------------------------------------------------------------&echo --------------------------------------------------------------->>更新目录.txt
  10. )
  11. echo 音乐文件备份完毕!&echo 音乐文件备份完毕!>>更新目录.txt
  12. pause>nul      
复制代码

[ 本帖最后由 batman 于 2009-2-25 23:28 编辑 ]
***共同提高***

TOP

回复 4楼 的帖子

谢谢你了。
这个代码是不是在同一个目录下寻找mp3 wma lrc 文件?因为我看它的运行结果里有这么一句:系统找不到指定文件。而且 那个copy命令是不是拷贝时把原文件覆盖了?我不想覆盖啊,因为歌曲文件太多了,覆盖的话会很费时……

TOP

看来是楼主没能一次性把要求描述清楚,请楼主以后发贴注意这一点:论坛是做不到QQ
聊天的及时性的,你要解决问题就要一次性描述清楚,别人不会一天到晚守着你的贴子
来看的。。。
***共同提高***

TOP

回复 5楼 的帖子

请跟新顶楼的帖子,把跳过重复文件的要求加进去,以便后来人查看。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 6楼 的帖子

多谢提醒!我会注意的

TOP

返回列表