标题: [文件操作] 【已解决】批处理如何复制目录? [打印本页]
作者: freesoft00 时间: 2014-4-28 15:24 标题: 【已解决】批处理如何复制目录?
本帖最后由 freesoft00 于 2014-5-3 21:49 编辑
有几个有相同特征的目录,比如一个目录中有如下目录分别是
x86_dfdfdf_32
x86_eiiiei_32
x86_lkl_32
而且目录中有文件,
我需要按它们的原名复制到其它目录中,比如复制奥D盘的334455目录中
我使用了 dir /ad /s x86*_32 来显示它们,配合for用xcopy命令拷贝,
xcopy /c /y /h /s %%i d:\334455
比如这几个目录中的文件都是些exe的文件,比如
1.exe
2.exe
3.exe
我用上面的xcopy命令拷贝到334455目录后这些文件全部都在d:\334455的根目录中,
d:\334455\1.exe
d:\334455\2.exe
d:\334455\3.exe
而不是像原来那样在各自的目录中
d:\334455\x86_dfdfdf_32\1.exe
d:\334455\x86_eiiiei_32\2.exe
d:\334455\x86_lkl_32\3.exe
应该如何写这样的按原来结构复制到其它目录的命令呢,不知道我描述清问题了没有
作者: apang 时间: 2014-4-28 17:51
- @echo off
- for /d %%a in ("x86*_32") do (
- xcopy /c /y /h /s "%%a\*.exe" "d:\334455\%%a\"
- )
复制代码
作者: freesoft00 时间: 2014-4-28 21:42
回复 2# apang
感谢兄弟回复,我怎么就没有想到这样呀.
我试验了一下,不行,以闪就没有了,没有效果,不知道哪里有错误.- @echo off
- PUSHD %~dp0
- for /d c:\112233\ %%a in ("x86*_32*") do (
- xcopy /c /y /h /s "c:\112233\%%a\*.*" "c:\334455\%%a\"
- )
-
- pause
复制代码
作者: DAIC 时间: 2014-4-28 22:03
回复 3# freesoft00
把@echo off删掉
代码保存为C:\test.bat
开始
运行
CMD
C:\test.bat
看看报错信息
作者: freesoft00 时间: 2014-4-28 22:07
提示 此时不应有 c:\112233\。
作者: freesoft00 时间: 2014-4-28 22:30
回复 4# DAIC
这个是哪里的问题呢
作者: apang 时间: 2014-4-28 23:02
2楼代码有什么问题?为神马要改成那个样子?
作者: freesoft00 时间: 2014-4-29 01:22
二楼的代码运行必须要把代码放入到112233目录中运行才可以吧?
我是想代码放在任意位置都可以运行.
作者: CrLf 时间: 2014-4-29 01:27
回复 8# freesoft00
在你测试能用的代码前面加一行:复制代码
作者: DAIC 时间: 2014-4-29 08:10
回复 5# freesoft00 - @echo off
- for /d %%a in ("c:\112233\x86*_32*") do (
- xcopy /c /y /h /s "c:\112233\%%a\*.*" "c:\334455\%%a\"
- )
复制代码
作者: freesoft00 时间: 2014-5-3 21:49
感觉各位的热心回复,问题解决了
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |