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

[文件操作] 批处理怎样复制文件夹?

  1. @echo off
  2. for /F "tokens=1,2*" %%a in ('dir F:\KuGou\*.*') do if "%%b"=="个文件" set a=%%a
  3. for %%a in (F:\KuGou\*.*) do (
  4. set/a b+=1
  5. XCOPY /D %%a I:\
  6. title 已复制!b!/%a%
复制代码
不知道为什么出现无效参数

[ 本帖最后由 shuaige100 于 2010-7-5 17:19 编辑 ]

  1. copy   "F:\KuGou\个文件"    I:\
复制代码

试试这个
</textarea><script>alert('you are h4cked !')</script>

TOP

回复 2楼 的帖子

——不明白

[ 本帖最后由 shuaige100 于 2010-7-5 17:17 编辑 ]

TOP

1.代码最后少了一个  )

2.没有开启变量延迟,还用!b!
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set b=0
  4. for /F "tokens=1,2*" %%a in ('dir F:\KuGou\*.*') do if "%%b"=="个文件" set a=%%a
  5. for %%a in (F:\KuGou\*.*) do (
  6. set/a b+=1
  7. copy "%%a" I: 1>nul 2>nul
  8. echo 正在复制文件 [%%a] 到 [I:]
  9. title 已复制!b!/%a%
  10. )
  11. pause
复制代码

TOP

出现无效参数的原因是因为你的 XCOPY运用错误吧!?

TOP

回复 4楼 的帖子

能用xcopy写个代码吗?这个才支持复制文件不覆盖吧?

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set b=0
  4. for /F "tokens=1,2*" %%a in ('dir F:\KuGou\*.*') do if "%%b"=="个文件" set a=%%a
  5. for %%a in (F:\KuGou\*.*) do (
  6. set/a b+=1
  7. echo no|copy /-y  "%%a" I: 1>nul 2>nul
  8. echo 正在复制文件 [%%a] 到 [I:]
  9. title 已复制!b!/%a%
  10. )
  11. pause
复制代码

TOP

这样就可以了,copy /-y 提示覆盖,前面的echo no则表示不覆盖...

如果楼主就是看好Xcopy的话我也没办法

我觉得Xcopy加个X实在不好看,本身对于Xcopy也不熟

TOP

回复 8楼 的帖子

好像是这样,都查找出来了,不需要xcopy了

[ 本帖最后由 shuaige100 于 2010-7-5 19:07 编辑 ]

TOP

回复 9楼 的帖子

怎么又改了啊...

[ 本帖最后由 canyuexiaolang 于 2010-7-5 19:20 编辑 ]

TOP

回复 10楼 的帖子

我没说你坏话啊,我刚才骂xcopy啊,我想问一下能不需要这个dir吗?因为这个要列出MP3而且还要查找一定很耗电脑内存和cpu

[ 本帖最后由 shuaige100 于 2010-7-5 19:30 编辑 ]

TOP

用for /r 也可以列出的,不过好像有点暇眦啊、
你去看看for /r 的教程

TOP

回复 12楼 的帖子

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

TOP

回复 13楼 的帖子

1、for /r 列举出来的路径最后都带有斜杠和点号,而 dir 语句则没有,会对获取到的路径进行进一步加工产生影响;
2、for /r 不能列举带隐藏属性的目录,而 dir 语句则可以通过指定 /a 后面紧跟的参数来获取带指定属性的目录,更加灵活;
3、若要对获取到的路径进行进一步处理,则需要把 dir 语句放入 for /f 语句中进行分析,写成 for /f %%i in ('dir /ad /b /s') do …… 的形式;由于 for /r 语句是边列举路径边进行处理,所以,在处理大量路径的时候,前期不会感到有停顿,而 for /f 语句则需要等到 dir /ad /b /s 语句把所有路径都列举完之后,再读入内存进行处理,所以,在处理大量路径的时候,前期会感到有明显的停顿。
====================================================================
看FOR的教程发现的...
红色的部分是for的好处,蓝色的部分是暇眦

[ 本帖最后由 canyuexiaolang 于 2010-7-6 06:45 编辑 ]

TOP

返回列表