schmitty 10 Posted February 4, 2008 Report Posted February 4, 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. Quote
Biber 10 Posted February 4, 2008 Report Posted February 4, 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 Quote
schmitty 10 Posted February 4, 2008 Author Report Posted February 4, 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. Quote
Biber 10 Posted February 4, 2008 Report Posted February 4, 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 Quote
schmitty 10 Posted February 5, 2008 Author Report Posted February 5, 2008 danke für das teilstück.. es funktioniert ohne probleme. genau soetwas habe ich gesucht. Quote
schmitty 10 Posted February 5, 2008 Author Report Posted February 5, 2008 kannst du mir bitte den genauen Syntax erklären den du verwendest. ich will es auch verstehen und nicht nur benutzen.!!!! Danke Quote
Biber 10 Posted February 5, 2008 Report Posted February 5, 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 Quote
schmitty 10 Posted February 5, 2008 Author Report Posted February 5, 2008 danke für die schnelle, gute und ausführliche Beschreibung Merci Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.