Jump to content

Laufwerke per batch mappen (inkl. Eingabemaske)


Direkt zur Lösung Gelöst von daabm,
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

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

Link zu diesem Kommentar

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

Link zu diesem Kommentar

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.

Link zu diesem Kommentar

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 von CeDeZ
Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...