Advanced JavaScript with Internet Explorer: Working with Drives and More
This series mainly concentrates on retrieving system information using JavaScript and displaying the same on a web page. All of the examples in this series can be directly tested by copying and pasting the entire code (of each section) in any text file with the extension .HTM and opening it using Microsoft Internet Explorer (preferably 5.5+).
Advanced JavaScript with Internet Explorer: Working with Drives and More - How to list all folder/file information (including sub-folders) using JavaScript (Page 5 of 6 )
Now, let us try to develop a simple script (JavaScript) which shows a technique for retrieving the number of partitions of each drive on a web page. The entire code for the sample is as follows:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title></title> <meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1"> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> <script id=clientEventHandlersJS language=javascript> <!--
function Button1_onclick() { var locator = new ActiveXObject ("WbemScripting.SWbemLocator"); var service = locator.ConnectServer("."); var properties = service.ExecQuery("SELECT * FROM Win32_Directory"); var e = new Enumerator (properties); document.write("<table border=1>"); for (;!e.atEnd();e.moveNext ()) { var p = e.item (); document.write("<tr>"); document.write("<td>" + p.FileName + "</td>"); document.write("<td>" + p.Path + "</td>"); document.write("<td>" + p.Readable + "</td>"); document.write("<td>" + p.Writable + "</td>"); document.write("</tr>"); } document.write("</table>"); }
The above code would automatically list all the directories along with their filenames and other information. To retrieve the directories, I used a built-in class, “Win32_Directory.” The class internally has a lot of properties, methods and events. But, in the above example we concentrated only on the properties “FileName,” “Path,” “Readable” and “Writable” (related to the “Win32_Directory” class).
The “for” loop I used in the above code iterates for every directory present in the system and finally retrieves only the properties of that directory. Please be aware that the system may become unresponsive when using this script because it searches the entire file system.