找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 32577|回复: 8

[系统相关] [已解决]如何用批处理判断剩余空间大小并复制文件?

[复制链接]
发表于 2011-6-20 16:32:00 | 显示全部楼层 |阅读模式
怎样编写批处理,能够自动判断电脑能剩余空间的大小,并自动将xp.gho和xx.exe文件复制剩余空间里,并自动运行xx.exe。

评分

参与人数 1PB +2 收起 理由
zm900612 + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2011-6-20 17:03:20 | 显示全部楼层
看不懂,“并自动将xp.gho和xx.exe文件复制剩余空间里”是什么意思
发表于 2011-6-20 17:14:27 | 显示全部楼层
本帖最后由 mxxcgzxxx 于 2011-6-20 17:18 编辑

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

这样做不如将备份文件及应该文件放在一个目录中,然后程序如下执行
1、判断备份目录的大小
2、查看各磁盘空间大小
3、比较大小找到适合磁盘并排除系统盘,多个磁盘时,最后一个盘优先
4、复制备份目录到适合磁盘
 楼主| 发表于 2011-6-20 17:31:36 | 显示全部楼层
3# mxxcgzxxx


你的理解是正确的,可是具体该怎么作呢?
发表于 2011-6-20 22:27:46 | 显示全部楼层
本帖最后由 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技术 +1 收起 理由
zm900612 + 1 乐于助人

查看全部评分

 楼主| 发表于 2011-6-21 10:05:16 | 显示全部楼层
5# mxxcgzxxx


谢谢您。该批处理可以使用。
能否再完善一下:1、我的GHO文件是存在U盘的,而U盘的盘符在不同的机器上是不固定的,能否解决这个问题?2?有个安装程序,程序名为:安装系统.exe。如何在复制完成后自动运行?望指教。
发表于 2011-6-21 10:10:07 | 显示全部楼层
本帖最后由 mxxcgzxxx 于 2011-6-21 10:16 编辑

论坛里有关于查找U盘的讨论可以找找,
查U盘还是有一些小问题的,比如我这台机就有自带读卡器,也算是U盘接口,所以会出现三四个U盘
可以把这个批处理放在U盘内,把目录位置改成相对目录就比较好用了,也就是把盘符名去掉,
至于运行GHOST最好还是不要在XP系统下,开机DOS下是最好的可以安装一键GHOST来解决,
一键GHOST默认读取目录是~1,默认读取GHO名为 C_PAN.GHO
 楼主| 发表于 2011-6-21 11:03:17 | 显示全部楼层
7# mxxcgzxxx


谢谢你的指点,已经完全达到了我的要求。代码的最后加了几句,可以自动运行了。
  1. del %备份盘%\*.bat>nul
  2. echo 备份结束,按任意键开始安装
  3. pause>nul
  4. start %备份盘%\安装系统.exe
复制代码
发表于 2011-6-21 12:03:41 | 显示全部楼层
8# ny350101

如果要排除某种类型的文件,XCOPY也是可以做到的
参考http://www.bathome.net/thread-12684-1-1.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 12:49 , Processed in 0.029070 second(s), 14 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表