zoukankan      html  css  js  c++  java
  • 取硬盘大小及可用空间

    参考:http://www.mssqltips.com/tip.asp?tip=2444

    取硬盘大小及可用空间

    declare @svrName varchar(255)
    declare @sql varchar(400)
    --by default it will take the current server name, we can the set the server name as well
    set @svrName = case charindex('\',@@servernamewhen 0 then @@servername else 
    left(@@servername,charindex('\',@@servername)-1end
    set @sql = 'powershell.exe -c "Get-WmiObject -ComputerName ' + QUOTENAME(@svrName,''''+ ' -Class Win32_Volume -Filter ''DriveType = 3'' | select name,capacity,freespace | foreach{$_.name+''|''+$_.capacity/1048576+''%''+$_.freespace/1048576+''*''}"'
    --creating a temporary table
    print(@sql)
    CREATE TABLE #output
    (line 
    varchar(255))
    --inserting disk name, total space and free space value in to temporary table
    insert #output
    EXEC xp_cmdshell @sql
    --script to retrieve the values in MB from PS Script output
    select rtrim(ltrim(SUBSTRING(line,1,CHARINDEX('|',line) -1))) as drivename
          ,
    round(cast(rtrim(ltrim(SUBSTRING(line,CHARINDEX('|',line)+1,
          (
    CHARINDEX('%',line) -1)-CHARINDEX('|',line)) )) as Float),0as 'capacity(MB)'
          ,
    round(cast(rtrim(ltrim(SUBSTRING(line,CHARINDEX('%',line)+1,
          (
    CHARINDEX('*',line) -1)-CHARINDEX('%',line)) )) as Float),0as 'freespace(MB)'
    from #output
    where line like '[A-Z][:]%'
    order by drivename
    --script to retrieve the values in GB from PS Script output
    select rtrim(ltrim(SUBSTRING(line,1,CHARINDEX('|',line) -1))) as drivename
          ,
    round(cast(rtrim(ltrim(SUBSTRING(line,CHARINDEX('|',line)+1,
          (
    CHARINDEX('%',line) -1)-CHARINDEX('|',line)) )) as Float)/1024,0as 'capacity(GB)'
          ,
    round(cast(rtrim(ltrim(SUBSTRING(line,CHARINDEX('%',line)+1,
          (
    CHARINDEX('*',line) -1)-CHARINDEX('%',line)) )) as Float/1024 ,0)as 'freespace(GB)'
    from #output
    where line like '[A-Z][:]%'
    order by drivename
    --script to drop the temporary table
    drop table #output


    作者:nzperfect
    出处:http://www.cnblogs.com/nzperfect/
    引用或者转载本BLOG的文章请注明原作者和出处,并保留原文章中的版权信息。

  • 相关阅读:
    Windows Phone开发(40):漫谈关键帧动画之中篇 转:http://blog.csdn.net/tcjiaan/article/details/7559978
    Windows Phone开发(43):推送通知第一集——Toast推送 转:http://blog.csdn.net/tcjiaan/article/details/7617664
    xslt运算符
    简单实现Ajax
    继承与多态
    servlet基础知识
    用telnet 测试Http协议
    http协议基础
    类的初始化
    多态
  • 原文地址:https://www.cnblogs.com/nzperfect/p/2119659.html
Copyright © 2011-2022 走看看