DOCUMENT:Q244676 09-AUG-2001 [foxpro] TITLE :HOWTO: Map, Delete, Enumerate Network Drives w/Scripting Host PRODUCT :Microsoft FoxPro PROD/VER::3.0,3.0b,5.0,5.0a,6.0 OPER/SYS: KEYWORDS:kbMiscTools kbvfp300 kbvfp300b kbvfp500 kbvfp500a kbvfp600 kbWSH kbGrpDSFox kbDSupport ====================================================================== ------------------------------------------------------------------------------- The information in this article applies to: - Microsoft Visual FoxPro for Windows, versions 3.0, 3.0b, 5.0, 5.0a, 6.0 ------------------------------------------------------------------------------- SUMMARY ======= The Microsoft Windows Script Host is a language-independent scripting host for 32-bit Windows operating system platforms. Windows Script Host is integrated into Microsoft Windows 98, Microsoft Windows 2000, and Microsoft Internet Information Server 4.0. It is included with Microsoft Windows NT 4 Option Pack and is also available for download at: http://msdn.microsoft.com/scripting. MORE INFORMATION ================ This program demonstrates how to map a network drive and then enumerate through the mapped drives. The program deletes a mapped drive if it exists. To run this example, copy the code below into a new program file, change the third #DEFINE to a valid network share on your network, and then run the program. #DEFINE CRLF CHR(13)+CHR(10) #DEFINE TAB CHR(9) #DEFINE lcNetworkShare '\\Servr\Share' ON ERROR DO errorhandler WITH ERROR(),LINENO(),MESSAGE() LOCAL colDrives, strMsg PRIVATE strDrive,strShare,WSHNetwork WSHNetwork = CREATEOBJECT("WScript.Network") colDrives = WSHNetwork.EnumNetworkDrives strMsg = '' IF colDrives.COUNT > 0 FOR i = 0 TO colDrives.COUNT - 1 STEP 2 *!* Windows 2000 adds "Network Places" to list IF !EMPTY(colDrives.ITEM[i]) && drive letter is mapped strMsg = strMsg + CRLF + colDrives.ITEM[i] + TAB + colDrives.ITEM[i + 1] ENDIF ENDFOR =MESSAGEBOX(strMsg) ENDIF strDrive = 'Z:' strShare = lcNetworkShare *!* Note: If drive letter is already mapped, or cannot find the path, it will throw first error WSHNetwork.MapNetworkDrive( strDrive, strShare) *!* There are 3 other parameters that are Optional- bUpdateProfile,strUser,strPassword *!* bUpdateProfile-Update the user profile *!* strUser and strPassword-If you need credentials of another user for the share, specify strUser and StrPassword PROCEDURE errorhandler LPARAMETERS nError, nLine, cmessage IF nError=1429 &&error mapping drive? DO CASE CASE "network path was not found" $ cmessage &&common error so handle it if you want MESSAGEBOX( "Network path not found" ) CASE "local device name is already in use" $ cmessage &&common error so handle it if you want MESSAGEBOX( "Local device name is already in use - I am going to delete it!" ) lforce = .T. && force removal even if resource is in use lupdateprofile = .T. && Update the profile WSHNetwork.RemoveNetworkDrive(strDrive,lforce,lupdateprofile) OTHERWISE MESSAGEBOX(MESSAGE()) ENDCASE ENDIF REFERENCES ========== For the latest information on the Windows Script Host, see the following page on the Microsoft Technical Support site: http://msdn.microsoft.com/scripting Additional query words: ====================================================================== Keywords : kbMiscTools kbvfp300 kbvfp300b kbvfp500 kbvfp500a kbvfp600 kbWSH kbGrpDSFox kbDSupport kbCodeSnippet Technology : kbVFPsearch kbAudDeveloper kbVFP300 kbVFP300b kbVFP500 kbVFP600 kbVFP500a Version : :3.0,3.0b,5.0,5.0a,6.0 Issue type : kbhowto ============================================================================= THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY. Copyright Microsoft Corporation 2001.