标题: [系统相关] [已解决]如何用批处理判断剩余空间大小并复制文件? [打印本页]
作者: ny350101 时间: 2011-6-20 16:32 标题: [已解决]如何用批处理判断剩余空间大小并复制文件?
怎样编写批处理,能够自动判断电脑能剩余空间的大小,并自动将xp.gho和xx.exe文件复制剩余空间里,并自动运行xx.exe。
作者: CrLf 时间: 2011-6-20 17:03
看不懂,“并自动将xp.gho和xx.exe文件复制剩余空间里”是什么意思
作者: mxxcgzxxx 时间: 2011-6-20 17:14
本帖最后由 mxxcgzxxx 于 2011-6-20 17:18 编辑
要求写得过于模糊
不过应该楼主是想做自动还原吧
是不是如下:
1、判断各分区大小,找到大于备份文件的空间
2、复制GHO文件及应用软件到指定盘内备用
这样做不如将备份文件及应该文件放在一个目录中,然后程序如下执行
1、判断备份目录的大小
2、查看各磁盘空间大小
3、比较大小找到适合磁盘并排除系统盘,多个磁盘时,最后一个盘优先
4、复制备份目录到适合磁盘
作者: ny350101 时间: 2011-6-20 17:31
3# mxxcgzxxx
你的理解是正确的,可是具体该怎么作呢?
作者: mxxcgzxxx 时间: 2011-6-20 22:27
本帖最后由 mxxcgzxxx 于 2011-6-20 22:44 编辑
- @echo off&setlocal enabledelayedexpansion
- ::示例备份目录为g:\ghost
- set 备份目录=g:\ghost
- ::读取指定文件夹的大小,并换算成M
- for /f "tokens=3" %%1 in ('dir %备份目录% /s /-c^|find "个文件"') do set 备份大小=%%1
- set /a 备份大小=%备份大小:~-0,-6%*1
- ::读取各硬盘分区空间剩余大小,排除系统盘符并换算成M,并预留50M磁盘空间供系统使用。提取最后一个适合盘符
- set "备份盘="
- for /f "skip=1 tokens=1,2 delims= " %%1 in ('wmic logicaldisk where DriveType^=3 get caption^,freespace^|find /v "%systemdrive%"') do (
- set n=%%2
- set /a m=!n:~-0,-6!-50
- if %备份大小% lss !m! set 备份盘=%%1
- )
- if "%备份盘%"=="" echo 无适合盘符 &pause>nul &goto :eof
- echo 找到适合盘符,开始备份到%备份盘%中,请稍候
- xcopy %备份目录% %备份盘% /s
- echo 备份结束,按任意键退出
- pause>nul
复制代码
根据自己的需要改一改
由于考虑到GHOST文件比较大,所以多显示了几句话以防中途退出!
另保留50M的空间以防系统死机。
作者: ny350101 时间: 2011-6-21 10:05
5# mxxcgzxxx
谢谢您。该批处理可以使用。
能否再完善一下:1、我的GHO文件是存在U盘的,而U盘的盘符在不同的机器上是不固定的,能否解决这个问题?2?有个安装程序,程序名为:安装系统.exe。如何在复制完成后自动运行?望指教。
作者: mxxcgzxxx 时间: 2011-6-21 10:10
本帖最后由 mxxcgzxxx 于 2011-6-21 10:16 编辑
论坛里有关于查找U盘的讨论可以找找,
查U盘还是有一些小问题的,比如我这台机就有自带读卡器,也算是U盘接口,所以会出现三四个U盘
可以把这个批处理放在U盘内,把目录位置改成相对目录就比较好用了,也就是把盘符名去掉,
至于运行GHOST最好还是不要在XP系统下,开机DOS下是最好的可以安装一键GHOST来解决,
一键GHOST默认读取目录是~1,默认读取GHO名为 C_PAN.GHO
作者: ny350101 时间: 2011-6-21 11:03
7# mxxcgzxxx
谢谢你的指点,已经完全达到了我的要求。代码的最后加了几句,可以自动运行了。- del %备份盘%\*.bat>nul
- echo 备份结束,按任意键开始安装
- pause>nul
- start %备份盘%\安装系统.exe
复制代码
作者: mxxcgzxxx 时间: 2011-6-21 12:03
8# ny350101
如果要排除某种类型的文件,XCOPY也是可以做到的
参考http://www.bathome.net/thread-12684-1-1.html
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |