您的位置:首页 > 其它

编写自动备份bat脚本

2010-02-03 23:56 429 查看
对于Windows系统,我们可以使用bat脚本来代替手工拷贝文件备份.主要使用的语句有:

1.xcopy 拷贝

2.md 创建

我的原始需求:按当前系统日期创建文件夹,并把指定要备份的目录拷贝到该文件夹下.

脚本代码:

@echo off
for /f "tokens=2 delims==" %%a in ('wmic os get localdatetime /value') do (set ct=%%a)
set date=%ct:~0,8%
set h=%ct:~8,2%
set m=%ct:~10,2%

rem 从系统时间截取字符串生成目的文件夹

set path=E:/workspace/hjeas60/bak/%date%-%h%%m%
set srcSource=E:/workspace/hjeas60/src/*.*
set srcDist=%path%/src

rem 创建文件夹
md %srcDist%
echo xcopy "%srcSource%" "%srcDist%"

rem 从原路径拷贝到目的路径
xcopy "%srcSource%" "%srcDist%" /S /E /Y

rem 以下是另一目录的拷贝

set metaSource0=E:/workspace/hjeas60/deployed_metas/bim.permission
set metaSource1=E:/workspace/hjeas60/deployed_metas/com

set metaDist=%path%/deployed_metas/com
md %metaDist%
xcopy "%metaSource0%" "%metaDist%"
xcopy "%metaSource1%/*.*" "%metaDist%" /S /E /Y

echo 完成从%srcSource%复制至%srcDist%!
echo 完成从%metaSource%复制至%metaDist%!
pause

遇到的问题:开始时bat语法不了解,只能在网上找参考信息然后猜它的意思,偿试修改。后来发现最后一个错总是提示“xcopy 不是内部或外部命令,也不是可执行的程序”,后来在网上看到方法,把系统目录下/WINDOWS/system32/xcopy.exe copy到运行目录下(即是你当前编辑的bat目录下),就成功执行了,大功告成。

让计算机帮你去做那些机械式、烦锁、重复性的工作,是一件很爽的事情!因为它会做得比你手工快而不会漏东西,你可以从中解脱出来!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: