| By Ben Forta | Article Rating: |
|
| May 31, 2007 08:30 AM EDT | Reads: |
9,724 |
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,724
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 ------------------------------------------------------ |
||||
- GITEX TECHNOLOGY WEEK 2009 Exhibitor Profiles
- Microsoft Expression Web Has Got Game
- Zimbra on Ulitzer Topic Launched
- Five-Minute IT Outsourcing Survey – Win an iPhone 3GS!
- Research and Markets: Global Developer Population and Demographic Study 2009, V1 Will Estimate Specific Developer Target Markets' Size
- New Virus Targets Facebook, MySpace and Twitter Users
- Meebo Announces Real-Time Solution for Content Sites
- Developing APIs for the Cloud
- Technology for Cloud Computing
- Mezeo CEO to Speak at 4th Cloud Computing Expo
- Will Ulitzer Dominate News Content on The Web? -Gartner
- Bernie Borges' Marketing 2.0 Social Media Book
- Integrate Social Media Tools Into Business, Not Marketing Campaigns
- GITEX TECHNOLOGY WEEK 2009 Exhibitor Profiles
- Microsoft Expression Web Has Got Game
- Microsoft’s Free Anti-Virus Close
- Zimbra on Ulitzer Topic Launched
- Joomla CMS and Its Advantages
- Will Social Media and Ulitzer Replace Traditional Media Sooner Than Later?
- Bluenog Releases ICE 4.5 to Enterprise 2.0 Community
- Red Hat Named "Platinum Sponsor" of Virtualization Conference & Expo
- Drupal Content Management Platform Has Been Chosen By Ulitzer
- Drupal Creator Forms Company
- Hot Banana Sponsors Gilbane White Paper On Using Web CMS
- Nastel to Exhibit at SYS-CON's SOA World Conference & Expo
- Drupal CMS to Move to a Whole New Level
- Hot Banana Is First To Add Web Site Optimization, Marketing Automation To Its Web CMS
- Hot Banana Unveils Multilingual Web CMS Module
- Ektron's CMS400.NET Now Supports Macromedia ColdFusion, Microsoft ASP, JSP, and PHP
- Ulitzer’s Amazing First 30 Days in Public Beta




































