Wie kann ich eine Laufwerksliste aus einer Batch-Datei zu erhalten?
-
20-08-2019 - |
Frage
Ich versuche, eine Liste aller meiner zugeordnete Laufwerke für ein System-Upgrade zu erhalten und möchte diese Informationen über eine Batch-Datei erhalten. Wie kann ich das machen?
Für Bonuspunkte: Wie kann ich Skript die Abbildung dieser Laufwerke auf den neuen Server?
Lösung
Die Liste der aktuellen Zuordnungen wird durch
zurückgegeben werdennet use
Die Übertragung würde so arbeiten (für den Spaß 1 davon, dass anstelle von VBScript in Batch-Skript lets do):
@echo off
setlocal EnableDelayedExpansion
set letter=.
set uncpath=.
set colon=.
for /f "delims=" %%l in ('net use') do @(
for /f "tokens=2" %%t in ("%%l") do @set letter=%%t
for /f "tokens=3" %%t in ("%%l") do @set uncpath=%%t
set colon=!letter:~1,1!
if "!colon!" EQU ":" (
echo if exist !letter! net use !letter! /delete
echo net use !letter! !uncpath! /persistent:yes
)
)
endlocal
Ausgang geht in etwa so:
if exist M: net use M: /delete
net use M: \\someserver\someshare /persistent:yes
if exist N: net use N: /delete
net use N: \\otherserver\othershare /persistent:yes
Just speichern, dass in einer Batch-Datei und Sie sind gut zu gehen.
1 Eigentlich "Spaß" ist hier nicht das richtige Wort. ; -)
Andere Tipps
Um die zugeordnete Laufwerke Liste
Net Use
ein neues Laufwerk zuordnen
Net Use G: \\Server\Path
Sie können diese VBSript tun
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set colDrives = objFSO.Drives
For Each objDrive in colDrives
Wscript.Echo "Drive letter: " & objDrive.DriveLetter
Next
Und Sie können Netzlaufwerke mit
KarteSet objNetwork = CreateObject("WScript.Network")
objNetwork.MapNetworkDrive "G:", "\\Server\Path"