请把轻狂志网址 www.flighty.cn 加入收藏夹,其他俱为假冒,谨防被骗!赞助请点 这里!找东东请用右边的搜索 ===>
06 2014-07

NSIS:获取指定磁盘分区的可用空间

作者:少轻狂 | 发布:2014-07-04 | 更新:2014-07-06 | 分类:部署 | Disposition | 热度:

为了方便以后的维护管理,我们一般会希望用户直接使用我们预设的安装路径。但有时可能会遇到这样的尴尬:我们指定的分区空间不足或者分区根本不存在或者是光驱而导致“安装”按钮处于置灰状态。如果你再跟用户解释这个问题,势必会多费一番唇舌。下面这个示例就是为了解决这个问题而提示用户的,也许对大家有用。

 

转载请注明作者和出处。

示例如下:

!include "MUI2.nsh"
!include "FileFunc.nsh"

Name "获取指定磁盘分区的可用空间"
Caption "获取指定磁盘分区的可用空间"
OutFile "test.exe"
SilentInstall silent

Section
	 StrCpy $R1 "H:\"
	 ${DriveSpace} $R1 "/D=F /S=M" $R2
	 ${If} $R2 < 100
 	 StrCpy $R3 $R1 1
	 MessageBox MB_OK "$R3盘可用空间不足 100 M,请检查!"
	 ${Else}
	 StrCpy $R3 $R1 1
	 MessageBox MB_OK "$R3盘可用空间为 $R2 M。"
	 ${EndIf}
SectionEnd

注意:在代码中我们完全可以不使用$R3这个变量,但考虑到一处修改处处修改的便捷性,我还是加了这个变量。