批处理复制文件(文件夹)

下述所有的“复制”,批处理都不提示选择是否,不显示文件列表,
目标文件(文件夹)存在的话,直接覆盖,复制完自动关闭批处理。
--------------------------------------------------------------------------------
1.复制C:\a\e.txt 文本文件到d:\b文件夹下面
【复制完的目录结构应该为d:\b\e.txt】

2.复制C:\a文件夹及其内所有东西(包括隐藏,系统文件)到D:\b文件夹下面
【 a文件夹也要复制过去,也就是说,复制之后,a文件夹应该在b文件夹下】

3.复制C:\a文件夹内的所有东西到D:\b文件夹下面
【a文件夹不复制过去,只是把c,d这两个文件夹和e.txt这个文件复制过去】

---------------------------------------------------------------------------------------
主要是参数我把握不准,最好是3条都可以用XCOPY,
如果不能实现,COPY也行···

我自己是批处理小白,今天捣鼓了半天
xcopy /e /q /h /r /y c:\a c:\b\
它把a内的东西复制过去了,但是a没复制过去···

这三条命令怎么写呢?谢谢

1.复制C:\a\e.txt 文本文件到d:\b文件夹下面
【复制完的目录结构应该为d:\b\e.txt】
xcopy /y c:\a\e.txt d:\b\ >nul

2.复制C:\a文件夹及其内所有东西(包括隐藏,系统文件)到D:\b文件夹下面
【 a文件夹也要复制过去,也就是说,复制之后,a文件夹应该在b文件夹下】
xcopy /y /e /h c:\a d:\b\a\ >nul

3.复制C:\a文件夹内的所有东西到D:\b文件夹下面
【a文件夹不复制过去,只是把c,d这两个文件夹和e.txt这个文件复制过去】
xcopy /y /e /h c:\a d:\b\ >nul
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-23
第一个问题:
用强制性的命令更好,目录不存在自动创建
echo f|xcopy D:\aa\bb\cc.txt E:\aa\bb\cc.txt
第二个问题,同理:(假设这个txt文件为list.txt)
@echo off
for /f " usebackq tokens=1,* delims=:" %%i in ("list.txt") do echo f|xcopy %%i:%%j E:%%j
这样更好!
——sp@cai
第2个回答  2011-10-14
它把a内的东西复制过去了,但是a没复制过去
::copy、xcopy不具备复制根目录的功能,复制到到a目录可以先创建再复制
md c:\b\a && xcopy /e /q /h /r /y c:\a c:\b\a
第3个回答  2019-07-17
@echo off & title 根据列表拷贝文件夹 By 依梦琴瑶
::设置列表文件
set List=文件夹名.txt
::设置源文件主目录,路径最后无需添加斜杠
set SrcDir=H:
::设置文件夹保存至哪个目录
set SavDir=E:\新建文件夹
for /f "delims=" %%a in ('type "%List%"') do (
xcopy /s/e/h/y "%SrcDir%\%%~a\*" "%SavDir%\%%~nxa\"
)
pause代码已测试,一切正常。
第4个回答  2012-11-16
if not exist e:\aa\bb md e:\aa\bb
copy D:\aa\bb\cc.txt E:\aa\bb

按新的要求,假设你的txt文件叫my.txt:
@echo off
for /f "tokens=*" %%i in (my.txt) do ( echo Copying %%i...
if not exist "e:\%%~pi" md “e:\%%~pi"
copy /y "%%i" "e:\%%~pi")
相似回答