Laufwerke per batch auslesen und wieder einbinden

Retrogamer

Enthusiast
Thread Starter
Mitglied seit
08.11.2007
Beiträge
6.284
Hallo Leute, ich brauche etwas Starthilfe bei folgendem Projekt.

Ich brauche eine batch Datei die folgendes kann:

1. Alle Netzlaufwerke die aktuell eingebunden sind auslesen.
2. Mit Hilfe der ausgelesenen Netzlaufwerke eine neue Batch Datei erstellen die wie folgt aussieht:

net use X: \\Hostname\Freigabe /persistent:no

wobei für jedes Netzlaufwerk eine neue Zeile erstellt wird, so dass mit dem ausführen dieser batch dann alle Laufwerke eingebunden werden.

Ein permanentes einbinden kommt leider nicht in Frage. Das ganze müsste auch auch vielen Geräten mit unterschiedlichen Laufwerken getan werden, daher wäre die batch sehr hilfreich.

Kann mir jemand etwas Starthilfe geben? Ich weiß leider nicht wie und wo ich anfangen soll da ich mich mit Batchprogrammierung nicht so gut auskenne.

Grüße
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Die Quelle hilft mi leider nicht so sehr weiter.

Also mit zB.

net use > C:\test.txt

bekomme ich so etwas

Neue Verbindungen werden nicht gespeichert.



Status Lokal Remote Netzwerk


-------------------------------------------------------------------------------
OK I: \\XXXX\dusXXX_software$
Microsoft Windows Network
N: \\DUXXXX\duXXX-data Microsoft Windows Network
O: \\DUXXXX\duXXX-data Microsoft Windows Network
OK P: \\10.XXXXX\vol2 Microsoft Windows Network
OK Q: \\10.XXXXX\vol1 Microsoft Windows Network
T: \\FRXXXX\GEXXX-T Microsoft Windows Network
OK U: \\FRXXXXX\alXXXXXXs$
Microsoft Windows Network
OK Y: \\DXXXXXNetprog_grm$ Microsoft Windows Network
Der Befehl wurde erfolgreich ausgeführt.

Das ganze ist schon sehr praktisch, da ich jetzt die größte Arbeit schon erledigt habe, den Pfad.

Allerdings wäre es noch cool vorne ein net use und hinten ein /persistent:no zu haben.
Ist zwar mit dem Editor schnell gemacht aber eben leider nicht automatisch.

Ich habe gesehen es gibt Möglichkeiten per VBS Script Textdateien (bzw. bat Dateien) zu bearbeiten. Das werd eich mir mal ansehen.
 
Zuletzt bearbeitet:
Das musst du dann z.B. per VBS machen, ja. Direkt ist das nicht möglich.
 
Ich habe es:

Set MyFiles = CreateObject("Scripting.FileSystemObject")Set wshNetwork = WScript.CreateObject( "WScript.Network" )
Set WshShell = WScript.CreateObject("WScript.Shell")


Company = "Laufwerksmapping - Informationen"




Do While wshNetwork.username = ""
WScript.Sleep 250
Loop
strComputerName = wshNetwork.computerName
strUserName = wshNetwork.userName
strDomainName = wshNetwork.userDomain




If not MyFiles.FileExists("C:" & strUserName & ".bat") Then MyFiles.CreateTextFile("C:"& strUserName & ".bat")
Set logfile = MyFiles.OpenTextFile("C:" & strUserName & ".bat",8)




Call SubZusammenfassung




Sub SubZusammenfassung ()




Set colDrives = wshNetwork.EnumNetworkDrives
Set colPrinters = wshNetwork.EnumPrinterConnections


Dim CRLF
CRLF = Chr(13) & Chr(10)








If colDrives.Count = 0 Then
strMsg = strMsg & CRLF & "Kein Netzlaufwerk ist verbunden." & CRLF
Else


For i = 0 To colDrives.Count - 1 Step 2
strMsg = strMsg & CRLF & "net use " & colDrives(i) & Chr(9) & colDrives(i + 1) & " /persistent:no"
Next
End If






logfile.write(strMsg) & CRLF & CRLF & CRLF





logfile.close
BtnCode = WshShell.PopUp(strMsg,10,Company,64)


End Sub

Ist eine VBS Datei.
 
Habe ich gerade nicht probiert. Funktioniert alles, wie von dir erwartet?
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh