schmitty 10 Geschrieben 4. Februar 2008 Melden Teilen Geschrieben 4. Februar 2008 Hallo Zusammen, ich habe anbei eine kleine Codezeile für die ich Eure Hilfe brauche. if not exist z: net use z: \\<Server>\<Freigabename> /persistent:yes Was ich damit bezwecken will ist ganz einfach. Ich will wenn das Netzlaufwerk z: nicht vorhanden ist, daß es verbunden wird. Soweit sogut, denn das tut die Codezeile ja auch. Aber das Script kann nicht unterscheiden welcher Server mit welcher Freigabe sich hinter dem Laufwerk Z verbirgt. Gibt es bei Batch eine Möglichkeit zu überprüfen welcher Server mit Freigabe sich hinter einem Netzlaufwerk verbirgt. Zitieren Link zu diesem Kommentar
Biber 10 Geschrieben 4. Februar 2008 Melden Teilen Geschrieben 4. Februar 2008 Moin schmitty, natürlich kannst Du, falls ein Laufwerk Z. schon vorhanden ist, Dir mit net use-oder gezielt mit -net use z:[/Code] ...anzeigen lassen, welcher Server/welches Share sich dahinter verbirgt. Aber wozu? Wenn doch hinterher auf jeden Fall z:\ Deinem "\\serverX\shareY" zugeordnet werden soll... Hau einfach zu Beginn Deines Skriptes alles weg, was per "net use" verbunden ist [Code]net use * /d[/Code] Oder aber Du vertraust wirklich darauf, dass Dein Parameter /persistent sinnvoll ist und mappst gar nix ab dem zweiten Mal. Grüße Biber Zitieren Link zu diesem Kommentar
schmitty 10 Geschrieben 4. Februar 2008 Autor Melden Teilen Geschrieben 4. Februar 2008 ich wollte es mir ersparen dass ich mit net use * /del alles lösche. Denn das nimmt nur Zeit in anspruch die nicht sein muss. Es geht mir darum wenn user ein Standardlaufwerk trennen und sich dann im Windows ein neues hinzumappen dass ich dann beim logonscript dies bemerke und das standardlaufwerk wieder herstelle. Zitieren Link zu diesem Kommentar
Biber 10 Geschrieben 4. Februar 2008 Melden Teilen Geschrieben 4. Februar 2008 Na ja, schmitty, ich weiß ja nicht genau, ob diese ersparte Zeit bei Euch eine Dividendenausschüttung ungeahnten Ausmaßes auslösen wird... ...... (irgendwo in Deinem Turbo-Batch...)if exist z:\ for /f "tokens=2" %%i in ('net use z:^|find "\\"') do @if /i "%%i" NEQ "\\serverx\shareY" net use z: /d if not exist z: net use Z: \\serverx\shareY /persistent=yes...[/Code] Grüße Biber Zitieren Link zu diesem Kommentar
schmitty 10 Geschrieben 5. Februar 2008 Autor Melden Teilen Geschrieben 5. Februar 2008 danke für das teilstück.. es funktioniert ohne probleme. genau soetwas habe ich gesucht. Zitieren Link zu diesem Kommentar
schmitty 10 Geschrieben 5. Februar 2008 Autor Melden Teilen Geschrieben 5. Februar 2008 kannst du mir bitte den genauen Syntax erklären den du verwendest. ich will es auch verstehen und nicht nur benutzen.!!!! Danke Zitieren Link zu diesem Kommentar
Biber 10 Geschrieben 5. Februar 2008 Melden Teilen Geschrieben 5. Februar 2008 Moin schmitty, ich versuche es... if exist z:\ ( for /f "tokens=2" %%i in ('net use z:^|find "\\"') do @( if /i "%%i" NEQ "\\serverx\shareY" net use z: /d ))..[/Code] ... Schrittweise. ----> if exist z:\ ( --> wenn Z. existiert ---> for /f "tokens=2" %%i in --> nimm das zweite Token der Ausgabe von... ---> ('net use z:^|find "\\"') ---> Ausgabe von "net use z:", aber nur die Zeile mit "\\" ---- (am besten mal am CMD-Prompt testen) -- das 2. Token ist "\\serverX\shareY" ---- und dieses token steht in der Variablen %%i ---> do @( --> und mache damit ---> if /i "%%i" NEQ "\\serverx\shareY" ---> wenn dieses %%i nicht gleich dem gewollten Lw ist.. ---> net use z: /d ---> dann trenne Z: ----> )) Grüße Biber Zitieren Link zu diesem Kommentar
schmitty 10 Geschrieben 5. Februar 2008 Autor Melden Teilen Geschrieben 5. Februar 2008 danke für die schnelle, gute und ausführliche Beschreibung Merci Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.