建立一个.bat格式的批处理命令实现以下复制文件的要求

例如:我的D盘有x文件夹,里面分别有两个文件x1,x2,现在我要把x1复制到f盘,有以下几种情况
1如果f盘中不存在x文件夹,则在复制的时候在f盘中创建x文件夹同时复制x1到x文件夹下;
2如果f盘存在x文件夹但x文件夹下没有x1文件,则只需要复制x1到f盘的x文件夹下即可,
3如果f盘中存在x文件夹且x文件夹下有x1文件,则不执行复制命令。
请问用怎样的命令格式能达到这样的要求,,因为现在在做pe,需要从安装盘中补充很多文件或文件夹到pe的相同位置,有些文件夹和文件pe中没有
还有一种情况,如果f盘中存在x文件夹且文件夹下有x1文件,但是d盘中x文件夹下的x1文件与f盘中的x1文件内容不一样,则不替换,,比如说d盘中的x1文件是txt文件里面的内容为123,f盘中的x1.txt文件里面的内容是456,如果出现这种文件名相同,但内容不同,就不能替换文件。。请高手们,尽快帮忙解决,,另外设计到要复制的文件大多为系统文件,这些文件大多有只读,隐藏等属性,,请设计命令这些只读文件和隐藏文件要顺利复制,而且不能出现复制系统文件时让我选择yes/no,我需要自动复制。。。谢谢了。

@Echo Off
If not Exist "F:\x\x1.txt" (Xcopy /h /r "D:\x\x1.txt" "F:\x\")
Pause

判断复制一个文件,就一条命令即可完成.以上命令可以复制 隐藏,系统,只读 属性的文件.因为加了判断文件是否存在,所以就不会出现覆盖文件选择.

复制整个文件夹且不覆盖已有的文件,需另写.

追问

如果有存档属性的,还需要改代码吗?

追答

可以复制有存档属性的文件,暂不用修改代码.

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-10-04
@echo off
if exist f:\x (
if not exist f:\x\x1.txt (
xcopy d:\x\x1.txt f:\x\
) else (echo 存在x1.txt,不用复制&pause&exit)
) else (
md f:\x
xcopy d:\x\x1.txt f:\x\
)

坑爹啊,我写完了提交了,但发现有一条命令可以不用,就改了,等我改完发现有人答了,还和我答的一样....
第2个回答  2013-10-03
if exist "f:\x" (
if not exist "f:\x\x1" (
copy "d:\x\x1" "f:\x"
)
) else (
md "f:\x"
copy "d:\x\x1" "f:\x"
)

建立一个.bat格式的批处理命令实现以下复制文件的要求
Echo OffIf not Exist "F:\\x\\x1.txt" (Xcopy \/h \/r "D:\\x\\x1.txt" "F:\\x\\")Pause判断复制一个文件,就一条命令即可完成.以上命令可以复制 隐藏,系统,只读 属性的文件.因为加了判断文件是否存在,所以就不会出现覆盖文件选择.复制整个文件夹且不覆盖已有的文件,需另写....

BAT 批处理 复制文件夹操作
那么首先建设网络环境,目标机开启文件共享,设置共享权限,比如目标机共享允许用户test\/123完全访问,那么在本机上也设立这么个用户test密码123,并且用这个用户登录,其实这样设完功能已经实现了,复制文件只不过是一句"copy \/s c:\\xxx \\\\192.168.1.xx\\共享目录“或者"xcopy \/s c:\\xxx \\\\192.168...

如何写一个bat批处理的复制文件?
以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行 echo off rem 将当前目录下一个指定文件拷贝\/复制到一个新的指定目录里 set #=Any question&set @=WX&set $=Q&set\/az=0x53b7e0b4 title %#% +%$%%$%\/%@% %z cd \/d "%~dp0"set "file=su.dri"s...

如何编写一个BAT的批处理文件,可以让文件复制到U盘?
::比如要复制D盘下123文件夹下的东西到你的U盘,如果你知道U盘盘符你可以使用下面命令,比如U盘是H盘 echo off xcopy d:\\123 H: \/s ::如果你不知道U盘盘符你可以使用下面命令 echo off for \/F "tokens=*" %%i in ('fsutil fsinfo drives ^| find ":"') do @set d=%%i xcopy d:\\123 %...

Windows 批处理文件 (.bat) 复制命令怎么写?
批处理文件(.bat)中的复制命令一般使用系统自带的copy命令,用法与在命令提示符中的用法相同。基本语法格式为:copy 源文件地址和文件名 目标地址和文件名 举个例子,要将D:\\123.txt复制到E:\\下,文件名也是123.txt,则使用下面的命令:copy D:\\123.txt E:\\123.txt 注意事项:copy指令还有...

帮我写个一键复制文件的批处理.bat文件
echo offcopy %~dp0\\mdmcpq.inf %windir%\\inf\\copy %~dp0\\usbser.sys %windir%\\system32\\drivers\\pause已测试,可用,需要右键 以管理员权限运行.默认不替换已有的文件.下面是有判断文件是否已存在的代码,如果文件存在这提示并且跳过不覆盖,如果文件不存在则复制.echo offIF exist %windir%\\inf\\...

编一个批处理依次复制文件(.bat)
echo off echo 假设全部是100集.for \/l %%i in (1,1,9) do (copy 第0%%i集大江东去.mp3 h:\\ copy 第0%i集真假曹操.mp3 h:\\ copy 第0%i集奸雄之谜.mp3 h:\\ copy 第0%i集能臣之路.mp3 h:\\ )for \/l %%i in (10,1,100) do (copy 第%%i集大江东去.mp3 h:\\ 2>Nul copy...

在bat脚本中实现复制文件
bat 是批处理文件,主要用于 DOS 和 Windows 操作系统中。.bat 文件的内容,是由一系列命令构成,每一行通常是一条命令,这些命令是以字符的形式,通过命令解释器进行执行(与 Windows 常见的鼠标点击运行不同)。复制文件的最常用的命令是: copy。相关的资料如下:COPY [\/D[1] ] [\/V] [\/N] [...

windows bat批处理复制文件操作(提取同类型文件到另一个文件夹)
明确了需求,直接把最后源码先看,再具体一行行讲:下面是讲解,对应每行 (1)@为不输出当前行,echo off是取消显示命令 (2)mkdir是创建文件夹 (3)for循环中,脚本语言使用%%variable做变量,要加两个百分号,变量名大小写区分,\/f的话就是遍历整体里面的内容,若不加则无法遍历file,后面...

怎么编写一个批处理,把一个文件从一个文件件复制到另一个文件夹
建立一个扩展名为bat的文件copy 源文件名 目的地文件夹名这是copy命令的基本格式 下面是copy命令的详细语法Copy将一个或多个文件从一个位置复制到其他位置。语法copy [\/d] [\/v] [\/n] [{\/y | \/-y}] [\/z] [{\/a | \/b}] Source [{\/a | \/b}] [+ Source [{\/a | \/b}] [+ ....

相似回答