CeDeZ 0 Geschrieben 17. Juni 2015 Melden Teilen Geschrieben 17. Juni 2015 Hallo, ich habe eine batch angefertigt, in der zuerst der User und das PW eingegeben wird und anschließend kann man auswählen, welcher Ordner gemappt werden soll und welchen Buchstaben dieser erhalten soll. Das einzige Problem ist, dass hinter jedem "net use" der User und das PW erneut mitgeschrieben wird, was ihm beim mappen von mehreren Ordnern des selben Servers nicht gefällt. Gibt es eine alternative Möglichkeit? (z.B. mit Prüfung, ob bereits Userdaten eingegeben wurden) net use %BUCHSTABE%: \\Server\Ordner1 /USER:%UNAME% %PW% /PERSISTENT:YES PS: Bitte Lösungen per Batch nicht VBS :-) Vielen Dank Zitieren Link zu diesem Kommentar
NorbertFe 2.035 Geschrieben 17. Juni 2015 Melden Teilen Geschrieben 17. Juni 2015 Dann schreibs doch nur beim ersten Laufwerk pro Server hin. ;) Zitieren Link zu diesem Kommentar
CeDeZ 0 Geschrieben 17. Juni 2015 Autor Melden Teilen Geschrieben 17. Juni 2015 Dann schreibs doch nur beim ersten Laufwerk pro Server hin. ;) Das geht schlecht. Die Eingabe findet ganz am Anfang statt und wenn ein Benutzer z.B. nicht den Ordner1 sondern nur Ordner2 mappen will, dann fehlen da die entsprechenden Daten. Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 17. Juni 2015 Melden Teilen Geschrieben 17. Juni 2015 (bearbeitet) Hallo, schau den CMD-Befehl set an: set /? Man kann Benutzernamen, Kennwort und Pfad in Variablen eingeben und diese denn mit net use verwenden. Falls man es son macht, dann die Vareiable mit dem Kennwort sofort nach dem Ausführen von net use löschen. bearbeitet 17. Juni 2015 von lefg Zitieren Link zu diesem Kommentar
CeDeZ 0 Geschrieben 17. Juni 2015 Autor Melden Teilen Geschrieben 17. Juni 2015 Hallo, schau den CMD-Befehl set an: set /? Man kann Benutzernamen, Kennwort und Pfad in Variablen eingeben und diese denn mit net use verwenden. Falls man es son macht, dann die Vareiable mit dem Kennwort sofort nach dem Ausführen von net use löschen. momentan sieht mein Anfang so aus: @echo off echo Laufwerke verbinden echo. echo Username: set /P UNAME= echo Password: set /P PW= und der Set Befehl folgendermaßen: :SET SET wahl=0 SET /p wahl="Bitte Auswahl eingeben: " if "%wahl%" == "1" goto wahl1 if "%wahl%" == "2" goto wahl2 if "%wahl%" == "3" goto wahl3 if "%wahl%" == "4" goto wahl4 Wie müsste ich es denn abändern bzw. ergänzen? ich steig da leider nicht dahinter Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 17. Juni 2015 Melden Teilen Geschrieben 17. Juni 2015 Und was ist jetzt das Problem? Zitieren Link zu diesem Kommentar
daabm 1.355 Geschrieben 17. Juni 2015 Melden Teilen Geschrieben 17. Juni 2015 Dann prüf bei dem net use MIT user und pwd den Errorlevel und machs ggf. ohne nochmal. Wenn es denn schon diese IMHO krude Lösung sein muß. Zitieren Link zu diesem Kommentar
Esta 114 Geschrieben 18. Juni 2015 Melden Teilen Geschrieben 18. Juni 2015 Moin CeDeZ, als erstes würde ich einen Befehl "set" nicht als Sprungmarke setzen. Oder sollte das ein Kommentar sein? :SET Ich hatte da mal "Tante Langeweile" zu Besuch. ;) Vielleicht so: @echo off echo Laufwerke verbinden echo. echo Username: set /P UNAME= echo Password: set /P PW= rem Prüfen erst ob Name und danach Passwort eingegeben wurde, wenn Ja dann gehe zur nächsten Eingabe bei nein beende die batch If not defined UNAME ( echo kein username eingegeben! goto eof ) Else ( If not defined PW ( echo kein Passwort eingegeben! goto eof ) Else ( goto auswahl) :auswahl SET wahl=0 SET /p wahl="Bitte Auswahl eingeben: " if "%wahl%" == "1" goto wahl1 if "%wahl%" == "2" goto wahl2 if "%wahl%" == "3" goto wahl3 if "%wahl%" == "4" goto wahl4 :wahl1 rem deine Befehle und danach mit Sprung zum Ende oder wieder zur Auswahl - Eingabe goto eof :wahl2 rem deine Befehle goto eof :wahl3 rem deine Befehle goto eof :wahl4 rem deine Befehle goto eof Viel Erfolg. Zitieren Link zu diesem Kommentar
CeDeZ 0 Geschrieben 18. Juni 2015 Autor Melden Teilen Geschrieben 18. Juni 2015 (bearbeitet) Dann prüf bei dem net use MIT user und pwd den Errorlevel und machs ggf. ohne nochmal. Wenn es denn schon diese IMHO krude Lösung sein muß. das hört sich gut an und werd ich mal testen. d.h. wenn der errorlevel>=1 ist soll net use ohne User und PW ausgeführt werden, richtig? Moin CeDeZ, als erstes würde ich einen Befehl "set" nicht als Sprungmarke setzen. Oder sollte das ein Kommentar sein? Ich hatte da mal "Tante Langeweile" zu Besuch. ;) Vielleicht so: @echo off echo Laufwerke verbinden echo. echo Username: set /P UNAME= echo Password: set /P PW= rem Prüfen erst ob Name und danach Passwort eingegeben wurde, wenn Ja dann gehe zur nächsten Eingabe bei nein beende die batch If not defined UNAME ( echo kein username eingegeben! goto eof ) Else ( If not defined PW ( echo kein Passwort eingegeben! goto eof ) Else ( goto auswahl) :auswahl SET wahl=0 SET /p wahl="Bitte Auswahl eingeben: " if "%wahl%" == "1" goto wahl1 if "%wahl%" == "2" goto wahl2 if "%wahl%" == "3" goto wahl3 if "%wahl%" == "4" goto wahl4 :wahl1 rem deine Befehle und danach mit Sprung zum Ende oder wieder zur Auswahl - Eingabe goto eof :wahl2 rem deine Befehle goto eof :wahl3 rem deine Befehle goto eof :wahl4 rem deine Befehle goto eof Viel Erfolg. das mit dem :SET hatte ich mal drin gehabt zum testen, keine ahnung warum... hatte eben nochmal drüber geguckt und es ist eigentlich überflüssig, aber danke für den hinweis :-D erstmal vielen dank für deine mühe. das mit der user und pw pflichtabfrage ist ne kleine und feine ergänzung, der rest entspricht quasi meiner derzeitigen batch, welche nicht ganz funktioniert. bei wahl1, wahl2, wahl3, etc. wird ein net use mit user, pw und persistent:yes ausgeführt wie oben erwähnt. wenn wahl1, wahl2 und wahl3 z.B. auf den selben server zugreifen kann ich z.B. wahl2 problemlos ausführen aber wenn ich danach noch wahl1 oder wahl3 ausführen möchte, kommt ein fehler zurück, weil er jedes mal den user und das pw anhängt. wenn ich aber bei wahl1 und wahl3 user und pw weglassen würde funktioniert es, deshalb ist das mit dem errorlevel gar keine schlechte idee, wenn ich das so richtig verstanden habe :-) bearbeitet 18. Juni 2015 von CeDeZ Zitieren Link zu diesem Kommentar
Beste Lösung daabm 1.355 Geschrieben 19. Juni 2015 Beste Lösung Melden Teilen Geschrieben 19. Juni 2015 Off-Topic: Zeilenumbrüche und Groß-/Kleinschreibung erhöhen die Lesbarkeit ungemei Richtig: net use blah /user pw if errorlevel 1 net use blah 1 Zitieren Link zu diesem Kommentar
CeDeZ 0 Geschrieben 22. Juni 2015 Autor Melden Teilen Geschrieben 22. Juni 2015 (bearbeitet) Off-Topic: Zeilenumbrüche und Groß-/Kleinschreibung erhöhen die Lesbarkeit ungemei Richtig: net use blah /user pw if errorlevel 1 net use blah Oops, I'm sorry! Okay, werde ich testen. Vielen Dank :-) Edit: Mit dem "if errorlevel 1" funktioniert es jetzt wie es soll :-))) bearbeitet 22. Juni 2015 von CeDeZ Zitieren Link zu diesem Kommentar
daabm 1.355 Geschrieben 22. Juni 2015 Melden Teilen Geschrieben 22. Juni 2015 Na, dann ist ja alles eitel Sonnenschein :D 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.