Supportnet Computer
Planet of Tech

Supportnet / Forum / BS-Sonstige

DOS Batch zur Passwortabfrage





Frage

Hallo Leute, ich bin kein großer Programmieren muss aber irgendwie unter dos eine Passwortabfrage programmieren. Geht das vielleicht auch ganz einfach mit einer Batchdatei? Da soll auf dem Bildschirm einfach erscheinen: "Bitte Passwort eingeben", dann gibt wer das passwort ein, drückt enter und das Script vergleicht die Eingabe mit dem Passwort was im Script selber oder in irgendeiner TXT stehen kann. Also nichts großes und nichts super sicheres. Wie mache ich das? Rip(e)

Antwort 1 von ichbins2

Eine Batchdatei kann ich jederzeit mit Control-C abbrechen. Damit ist ein Passwortschutz ausgehebelt.

Das sagt zumindest meine Erinnerung, ist aber auch schon lange her.

Antwort 2 von bb_dn

Da gab es doch den Befehl break on/off, um die Funktion Control+C zu sperren. Ich weiß allerdings nicht, ob das nur unter reinem DOS oder auch in den DOS-Boxen der Windowssysteme funktioniert.
Gruß
Bruno

Antwort 3 von Rip_e_

eigentlich egal denn ich benötige die Passwortabfrage ja um sicher zu stellen, dass nur die jenigen mit Passwort die Batchdatei ausführen können. wenn man strg+c drückt ist die Passwortabfrage zwar weg aber die batch auch beendet also alles im grünen Bereich.

Rip(e)

Antwort 4 von manfred

Der Befehl heißt 'choice'.
abgeragt wird dann mit "if errorlevel=1 then... " usw. Mußt halt mal "choice /?" eingeben.

Gruß Manfred


Antwort 5 von manei

Hallo,

kommt darauf an, welches OS Du hast.

Unter W2K/XP kannst Du eine Eingabe mit

set /p x=

also z.B.

@echo off
cls
echo.
echo Bitte Passwort eingeben!!
echo.
set /p x=
if x'==' goto fehl
if not x'==passwort' goto fehl
Befehl was gemacht werden soll
goto end
:fehl
echo.
echo falsche Passworteingabe
echo die Batch wird beendet
pause
echo.
:end
cls


kannst du eine Eingabe machen.

Bei Win9X-Systemen ist das nicht ganz so einfach, geht aber auch z.B. mit

@echo off
cls
for %%e in (md cd) do %%e @tmp@@
echo BATCH_INPUT___hhQX-PPP^XPPP D"HH0D40DF0De0Dgs>myinput.com
echo myinput.bat hoAX5@@PZYh@xX5@D3!r/P[VX,b,.PZh>>myinput.com
echo X3!X2DqP,{,{PYX4=0DqVX,j,.PZh@@X3!=set input>>myinput.com
echo.
echo Bitte Passwort eingeben!!
echo.
for %%e in ("myinput.com" "call myinput.bat") do %%e
if %input%'==' goto fehl
if not %input%'==passwort' goto fehl
Befehl was gemacht werden soll
goto end
:fehl
echo.
echo falsche Passworteingabe
echo die Batch wird beendet
pause
echo.
:end
set input=
for %%e in (CD.. "deltree /y @tmp@@>nul") do %%e
cls

passwort muß natürlich durch das richtige Passwort ersetzt werden.

MfG maneich

Antwort 6 von manfred

Poahheii
Respekt vor der Tipparbeit - oder doch bloß copy+paste?
Der Beitrag steht im Forum "DOS"
Gruß Manfred


Antwort 7 von manei

Hallo,

nun ja, wenn es für reinen DOS-Betrieb ist, ist die zweite Batch für zuständig. Läuft sowohl im DOS als auch unter Win9X-Systemen.

@Manfred

Das sagt gar nichts, daß der Beitrag im Forum "DOS" steht. Hier werden sehr viele Fragen gestellt z.B. bzgl. Batchabläufen die aber unter Win9X- oder WinNT-Systemen laufen sollen.

MfG maneich



Antwort 8 von Rip_e_

Danke manei das Script sieht sehr gut aus auch wenn ich noch keine Ahnung habe was diese Zeilen bedeuten:
echo BATCH_INPUT___hhQX-PPP^XPPP D"HH0D40DF0De0Dgs>myinput.com
echo myinput.bat hoAX5@@PZYh@xX5@D3!r/P[VX,b,.PZh>>myinput.com
echo X3!X2DqP,{,{PYX4=0DqVX,j,.PZh@@X3!=set input>>myinput.com

Aber ich denke es funktioniert auch, wenn ich das nicht weiß.
Es handelt sich übrigens um das DOS einer Windows 98 SE Startdiskette also 6.2 glaub ich.

Rip(e)

Antwort 9 von manei

Hallo,

diese 3 Zeilen sind der Quellcode für eine .com-Datei die eine direkte Eingabe am Prompt ermöglicht, was normalerweise im DOS und bei Win9x-Systemen in einer Batch nicht möglich ist.

Das ganz wird in ein eigens dafür erstelltes Verzeichnis geschrieben, das am Ende samt Inhalt wieder gelöscht wird.

Hier ist noch eine zweite Variante und sogar noch etwas schneller:

@echo off
cls
if %2'==loop' goto %2
set ~t1=%temp%\tmp
echo XP,;P_,EP0Ex0Ez0Em3Em-ZBP(Eiu![j@_YQ2M@53#@CI~.8'uxCISZ[SC5.bM!C>%~t1%.com
%~t1%.com "%0 : loop >%~t1%.bat
echo.
echo Bitte Passwort eingeben und [Enter]
echo.
FC.EXE CON nul /LB1 /N |FIND "1:" >> %~t1%.bat
%~t1%.bat
:loop
if %4'==' goto fehl
if not %4'==passwort' goto fehl
[Befehl was gemacht werden soll]???????
goto end
:fehl
echo.
echo falsche Passworteingabe
echo die Batch wird beendet
echo.
pause
:end
del %~t1%.???>nul
set ~t1=
cls

MfG maneich



Antwort 10 von Rip_e_

Danke maneich
die erste batch für win98 hab ich heute schon getestet hat super funktioniert nur sieht man das Passwort was man eintippt auf dem Bildschirm aber da kümmere ich mich morgen drum, wenn ich dein neues Script ausprobiert habe.

Danke nochmals

Rip(e)

Antwort 11 von Zypresse

Halllo Manei,
wo und wie ändert man denn das Passwort in deinem Win9x-Script?
Danbke und schöne Grüße

Antwort 12 von manei

Hallo,

if not %4'==passwort' goto fehl

Anstatt dem Wort "passwort" schreibst Du Dein Passwort rein, das " ' " Zeichen hintendran muß bleiben.

MfG maneich

Antwort 13 von manei

Hallo,

sehe gerade, habe hier 2 Batches eingestellt.

für die erste ist es dann die Zeile

if not %input%'==passwort' goto fehl

Hier dann auch "passwort" gem. obigen Ausführungen ändern.

MfG maneich


Antwort 14 von Dark

Hi, brauche eine Passwortabfrage im dos unter xp.
Habe schon einiges ausprobiert aber es geht leider nicht.
Kann mir Bitte jemand helfen??
mfg Dark

------------------------------------------------------------------------
@echo off
cls
echo.
echo Bitte Passwort eingeben!!
echo.
set /p x=
if x´==´ goto fehl
if not x´==passwort´ goto fehl
Befehl was gemacht werden soll
goto end
:fehl
echo.
echo falsche Passworteingabe
echo die Batch wird beendet
pause
echo.
:end
cls

habe ich schon ausprobiert........ geht leider nicht........
keine ahnung wieso....... bitte brauche hilfe..........
DANKE

Antwort 15 von AndyIT

Hallo Dark,

dein Problem ist, dass du die Variable bei deinen Abfragen nicht ausgiebst.

------------------------------------------------------------------------
@echo off
cls
echo.
echo Bitte Passwort eingeben!!
echo.
set /p x=
if %x%´==´ goto fehl
if not %x%´==passwort´ goto fehl
Befehl was gemacht werden soll
goto end
:fehl
echo.
echo falsche Passworteingabe
echo die Batch wird beendet
pause
echo.
:end
cls

du musst nur dein 'x' durch '%x%' ersetzen,
dann klappt das.

Antwort 16 von conrado


  • *Threadedit* 09:51:49, 18.08.2008
    Admininfo: Führ bitte fremde Threads nicht fort indem du eigene Anfragen anhängst.
    Die User werden es dir danken. Siehe FAQ 2, #7


  • Ich möchte kostenlos eine Frage an die Mitglieder stellen:


    Ähnliche Themen:


    Suche in allen vorhandenen Beiträgen: