bat批处理文件xcopy命令的详细使用教程——试错过的宝贵经验

网吧游戏服务器备份经常要用到copy命令,之前因为备份单个文件,就只用手动备份或copy命令,没去多研究xcopy,以为xcopy也和copy一样很简单,其实当最近真正用到它时,才发现有好多不一样的地方:
一、最先是网上找的,都是“xcopy c:\aaoaa d:\aaoaa /s /e”之类的,还有参数的介绍,一看,心想很简单呀,于是,自己打开cmd命令行,打入“xcopy /?”,出现如下图:xcopy文件帮助参数xcopy
就写了个“xcopy c:\aaoaa d:\aaoaa /y /e /h /r /i /v /k /c /p /t /j”的bat批处理文件,
运行后出现找不到文件,一直重复跳个不停。
二、以为找不到文件是64位Win7系统的关系,已经用管理身份运行了呀,把它放到32位2003系统还是一样找不到文件,跳个不停,百思不得其解。
三、试下看看c:\windows\system32\xcopy.exe,好家伙!原来xcopy和copy不一样,copy是CMD命令自带内部命令;而xcopy命令,其实是靠另外的exe程序运行的,难怪会找不到文件。
四、把bat文件改成“c:\windows\system32\xcopy.exe c:\aaoaa d:\aaoaa /y /e /h /r /i /v /k /c /p /t /j”运行后出来这样:c:\aaoaa\com.txt (Y/N)?
不是用了“/y”自动确认了吗,怎么还要一个一个文件确认?后来再查“xcopy /?”才发现是“/p”这个参数用错了,本来是要用“/q”的没看清楚。
五、改成“/q”后才再次发现“/t”参数又不是我想要的,它变成只copy空目录结构了,发现这点也折腾了好一会儿。
六、再改“c:\windows\system32\xcopy.exe c:\aaoaa d:\aaoaa /y /e /h /r /i /v /k /c /q /j”好了吧,可以显示是静默复制了XXX个文件,这回看样子是大功告成了。
七、直接把上面命令拿到2003和系统运行一下吧,晕,还出现“无效参数 – /j”。再打开“xcopy /?”对比一下,原来2003版本的“c:\windows\system32\xcopy.exe”真的没有“/j”这个参数。
总结下,1、要注意xcopy是exe格式的文件,所以最好直接指定完整路径“c:\windows
\system32\xcopy.exe”,这点是和copy最大的区别,如果不清楚这点,只从网上找到的,没有指定完整的地址,很可能会找不到文件误了时间。2、不同的xcopy.exe文件版本,能带的参数有点不一样,用的时候要注意一下,不明白可以“xcopy /?”查看。

分享到: 更多

发表评论

电子邮件地址不会被公开。 必填项已用*标注