| By Ben Forta | Article Rating: |
|
| May 31, 2007 08:30 AM EDT | Reads: |
9,783 |
This is an example that I used when demonstrating ColdFusion 8 .NET integration on the recent usergroup tour, and as requested, I am posting it publicly. GetDriveInfo() returns a query containing specifics about the hard drives on your server, it returns all drives unless an optional drive letter is passed to it. GetDriveInfo() uses the .NET System.IO.DriveInfo class (which was introduced in .NET 2, and thus this example requires .NET 2 or 3).
Here is the code:
<cffunction name="GetDriveInfo" returntype="query" output="false">
<cfargument name="drive" required="no" default="">
<!--- Local vars --->
<cfset var result=QueryNew("name,type,isready,format,label,totalsize,freespace",
"varchar,varchar,bit,varchar,varchar,double,double")>
<cfset var sidiClass="">
<cfset var drives="">
<cfset var i=0>
<!--- Get System.IO.DriveInfo class --->
<cfobject type=".NET"
name="sidiClass"
class="System.IO.DriveInfo">
<!--- Get drives --->
<cfset drives=sidiClass.GetDrives()>
<!--- Loop through drives --->
<cfloop from="1" to="#ArrayLen(drives)#" index="i">
<!--- Check if need this one --->
<cfif ARGUMENTS.drive IS ""
OR ARGUMENTS.drive EQ drives[i].Get_Name()
OR (Len(ARGUMENTS.drive) IS 1
AND ARGUMENTS.drive EQ Left(drives[i].Get_Name(), 1))>
<!--- Add row --->
<cfset QueryAddRow(result)>
<!--- Get name, type, and ready flag --->
<cfset QuerySetCell(result, "name", drives[i].Get_Name())>
<cfset QuerySetCell(result, "type", drives[i].Get_DriveType().ToString())>
<cfset QuerySetCell(result, "isready", drives[i].Get_IsReady())>
<!--- Get extra details ONLY if ready, or will throw error --->
<cfif drives[i].Get_IsReady()>
<cfset QuerySetCell(result, "format", drives[i].Get_DriveFormat())>
<cfset QuerySetCell(result, "label", drives[i].Get_VolumeLabel())>
<cfset QuerySetCell(result, "totalsize", drives[i].Get_TotalSize())>
<cfset QuerySetCell(result, "freespace", drives[i].Get_AvailableFreeSpace())>
</cfif>
</cfif>
</cfloop>
<!--- Return result --->
<cfreturn result>
</cffunction>
And here is a simple test example:
<h3>All Drives</h3>
<cfdump var="#GetDriveInfo()#">
<!--- Test with just C: drive --->
<h3>C: Drive</h3>
<cfdump var="#GetDriveInfo("C")#">
<!--- Display just space on C: drive --->
<h3>Free Space On C Drive</h3>
<cfdump var="#NumberFormat(GetDriveInfo("C").freespace)#">
Published May 31, 2007 Reads 9,783
Copyright © 2007 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Ben Forta
Ben Forta is Adobe's Senior Technical Evangelist. In that capacity he spends a considerable amount of time talking and writing about Adobe products (with an emphasis on ColdFusion and Flex), and providing feedback to help shape the future direction of the products. By the way, if you are not yet a ColdFusion user, you should be. It is an incredible product, and is truly deserving of all the praise it has been receiving. In a prior life he was a ColdFusion customer (he wrote one of the first large high visibility web sites using the product) and was so impressed he ended up working for the company that created it (Allaire). Ben is also the author of books on ColdFusion, SQL, Windows 2000, JSP, WAP, Regular Expressions, and more. Before joining Adobe (well, Allaire actually, and then Macromedia and Allaire merged, and then Adobe bought Macromedia) he helped found a company called Car.com which provides automotive services (buy a car, sell a car, etc) over the Web. Car.com (including Stoneage) is one of the largest automotive web sites out there, was written entirely in ColdFusion, and is now owned by Auto-By-Tel.
![]() |
sambit 01/25/08 07:38:47 AM EST | |||
Hi ------------------------------------------------------ |
||||
- Ulitzer.com Named Exclusive "New Media" Sponsor of Cloud Computing Conference & Expo
- Adobe’s Aiming ColdFusion at Multiple Clouds
- Cloud Computing Journal: Adobe to Deliver ColdFusion in the Cloud
- Adobe Unveils LiveCycle Enterprise Suite 2 for Deployment in the Cloud
- Adobe Flex Developer Earns $100K in New York City
- Adobe May Cooperate with Apple to Transplant Flash Player to iPhone
- Ph.D. in Twitter Anyone?
- Eolas Sues the Internet
- Adobe LiveCycle Enterprise Suite 2 for Cloud Computing
- Adobe Betas Target RIAs and Cloud Computing
- Special Report on the Emerging Cloud Computing Trend
- Adobe Cans Another 9% of its Workforce
- My Thoughts on Ulitzer
- Ulitzer.com Named Exclusive "New Media" Sponsor of Cloud Computing Conference & Expo
- Ulitzer Live! New Media Conference & Expo
- Adobe’s Aiming ColdFusion at Multiple Clouds
- Eval JavaScript in a Global Context
- Fig Leaf Software to Exhibit at Government IT Conference & Expo
- Cloud Executives Feature on Cloud Computing Expo Power Panel
- Software Flexibility in the Cloud - Part 4 of 5
- Cloud Computing Journal: Adobe to Deliver ColdFusion in the Cloud
- Is Microsoft as Free as Open Source?
- Adobe Reader Sued
- Adobe Unveils LiveCycle Enterprise Suite 2 for Deployment in the Cloud
- Where Are RIA Technologies Headed in 2008?
- Cover Story: How to Increase the Frame Rates of Your Flash Movies
- AJAX World RIA Conference & Expo Kicks Off in New York City
- Your First Adobe Flex Application with a ColdFusion Backend
- Adobe Flex 2: Advanced DataGrid
- i-Technology Blog: Death-Knell For "Rich Media? Hardly!
- Adobe/Macromedia - Microsoft, Look Out!
- How To Create a Photo Slide Show ...
- Adobe Flex Interface Customization - Themes, Styles, Skins
- Personal Branding Checklist
- Has the Technology Bounceback Begun?
- "Real-World Flex" by Adobe's Christophe Coenraets


































