[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 mxxcgzxxx 于 2011-6-20 17:18 编辑

要求写得过于模糊
不过应该楼主是想做自动还原吧
是不是如下:
1、判断各分区大小,找到大于备份文件的空间
2、复制GHO文件及应用软件到指定盘内备用

这样做不如将备份文件及应该文件放在一个目录中,然后程序如下执行
1、判断备份目录的大小
2、查看各磁盘空间大小
3、比较大小找到适合磁盘并排除系统盘,多个磁盘时,最后一个盘优先
4、复制备份目录到适合磁盘
世界上没有学不会的知识,也没有想得到却做不到的事!

TOP

本帖最后由 mxxcgzxxx 于 2011-6-20 22:44 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. ::示例备份目录为g:\ghost
  3. set 备份目录=g:\ghost
  4. ::读取指定文件夹的大小,并换算成M
  5. for /f "tokens=3" %%1 in ('dir %备份目录% /s /-c^|find "个文件"') do set 备份大小=%%1
  6. set /a 备份大小=%备份大小:~-0,-6%*1
  7. ::读取各硬盘分区空间剩余大小,排除系统盘符并换算成M,并预留50M磁盘空间供系统使用。提取最后一个适合盘符
  8. set "备份盘="
  9. for /f "skip=1 tokens=1,2 delims= " %%1 in ('wmic logicaldisk where DriveType^=3 get caption^,freespace^|find /v "%systemdrive%"') do (
  10.       set n=%%2
  11.       set /a m=!n:~-0,-6!-50
  12.       if %备份大小% lss !m! set 备份盘=%%1
  13.       )
  14. if "%备份盘%"=="" echo 无适合盘符 &pause>nul &goto :eof
  15. echo 找到适合盘符,开始备份到%备份盘%中,请稍候
  16. xcopy %备份目录% %备份盘% /s
  17. echo 备份结束,按任意键退出
  18. pause>nul
复制代码
根据自己的需要改一改
由于考虑到GHOST文件比较大,所以多显示了几句话以防中途退出!
另保留50M的空间以防系统死机。
1

评分人数

世界上没有学不会的知识,也没有想得到却做不到的事!

TOP

本帖最后由 mxxcgzxxx 于 2011-6-21 10:16 编辑

论坛里有关于查找U盘的讨论可以找找,
查U盘还是有一些小问题的,比如我这台机就有自带读卡器,也算是U盘接口,所以会出现三四个U盘
可以把这个批处理放在U盘内,把目录位置改成相对目录就比较好用了,也就是把盘符名去掉,
至于运行GHOST最好还是不要在XP系统下,开机DOS下是最好的可以安装一键GHOST来解决,
一键GHOST默认读取目录是~1,默认读取GHO名为 C_PAN.GHO
世界上没有学不会的知识,也没有想得到却做不到的事!

TOP

8# ny350101

如果要排除某种类型的文件,XCOPY也是可以做到的
参考http://www.bathome.net/thread-12684-1-1.html
世界上没有学不会的知识,也没有想得到却做不到的事!

TOP

返回列表