Netzlaufwerk abfragen und in einer Variable speichern
Hallo zusammen
Mein Ziel ist es, nach einem bestimmten Netzlaufwerk auf einem Client zu suchen. Dabei soll es mir in eine Variable das aktuelle Netzlaufwerk speichern.
Und jetzt noch ein bisschen verständlicher ausgedrückt :
Auf jedem Client ist ein Netzlaufwerk mit dem Buchstaben N verbunden. Jeder Client kann aber unter dem Laufwerkbuchstaben N mit einem anderen Netzlaufwerk verbunden sein.
Mögliche Netzlaufwerke sind z.B.:
S123456
S987654
S565656
S919191
usw...
Beim Client soll es nun abfragen, welches Netzlaufwerk hinter dem Laufwerkbuchstaben N liegt. Dabei kann ich z.B. die cmd-Abfrage (net use) machen. So listet es mir alle Laufwerkbuchstaben aus.
Ich sehe hier z.B.:
Status Local Remote Network
O: \S987654\DFS Microsoft Windows Network
N: \\S123456\UserID$ Microsoft Windows Network
Nun sehe ich ja von blossem Auge, dass der User mit dem Netzlaufwerk S123456 verbunden ist. Jetzt komme ich aber nicht mehr weiter. Ich möchte anhand "net use" dann nur das gefundene Netzlaufwerk in eine Variable speichern (S123456). Ich weiss aber leider nicht, wie ich das anstellen soll.
Vielleicht kennt ihr ja noch einen besseren Befehl als net use, um das Netzlaufwerk herauszufinden und in eine Variable zu speichern?
Freundliche Grüsse
Mein Ziel ist es, nach einem bestimmten Netzlaufwerk auf einem Client zu suchen. Dabei soll es mir in eine Variable das aktuelle Netzlaufwerk speichern.
Und jetzt noch ein bisschen verständlicher ausgedrückt :
Auf jedem Client ist ein Netzlaufwerk mit dem Buchstaben N verbunden. Jeder Client kann aber unter dem Laufwerkbuchstaben N mit einem anderen Netzlaufwerk verbunden sein.
Mögliche Netzlaufwerke sind z.B.:
S123456
S987654
S565656
S919191
usw...
Beim Client soll es nun abfragen, welches Netzlaufwerk hinter dem Laufwerkbuchstaben N liegt. Dabei kann ich z.B. die cmd-Abfrage (net use) machen. So listet es mir alle Laufwerkbuchstaben aus.
Ich sehe hier z.B.:
Status Local Remote Network
O: \S987654\DFS Microsoft Windows Network
N: \\S123456\UserID$ Microsoft Windows Network
Nun sehe ich ja von blossem Auge, dass der User mit dem Netzlaufwerk S123456 verbunden ist. Jetzt komme ich aber nicht mehr weiter. Ich möchte anhand "net use" dann nur das gefundene Netzlaufwerk in eine Variable speichern (S123456). Ich weiss aber leider nicht, wie ich das anstellen soll.
Vielleicht kennt ihr ja noch einen besseren Befehl als net use, um das Netzlaufwerk herauszufinden und in eine Variable zu speichern?
Freundliche Grüsse
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 210934
Url: https://administrator.de/contentid/210934
Ausgedruckt am: 22.11.2024 um 20:11 Uhr
11 Kommentare
Neuester Kommentar
Hallo blowdow,
könntest du z.B. so machen:
LWN enthält dann den Freigabepfad.
wenn du nur die ersten 7 Zeichen des Pfads brauchst -->(S123456) nimm dies:
Grüße Uwe
gelöste Beitrage bitte auch als solche markieren.Danke
könntest du z.B. so machen:
set LWN=
for /f "tokens=2,3" %%k IN ('net use ^| findstr "N:"') DO @(if "%%k" == "N:" set LWN=%%l)
wenn du nur die ersten 7 Zeichen des Pfads brauchst -->(S123456) nimm dies:
@echo off & setlocal ENABLEDELAYEDEXPANSION
set LWN=
for /f "tokens=2,3" %%k IN ('net use ^| findstr "N:"') DO @(
if "%%k" == "N:" (
set lw=%%l
set LWN=!lw:~2,7!
)
)
echo !LWN!
gelöste Beitrage bitte auch als solche markieren.Danke
@bastla
...Brett vorm Kopf
...Brett vorm Kopf