Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Falsche Eingabe bei set p - wie prüfen?

Mitglied: Kalamari

Kalamari (Level 1) - Jetzt verbinden

28.08.2011, aktualisiert 19:38 Uhr, 5729 Aufrufe, 15 Kommentare

Hallo

Habe da mal eine Frage..
Ich habe folgendes ....
01.
set /p einverstanden= 
02.
if /I "%einverstanden%"=="j" goto start 
03.
if /I "%einverstanden%"=="n" goto nichteinverstanden 
04.
if /I "%einverstanden%"=="*" goto evfehler
Soweit so gut, nur denke ich, dass das nicht 100% richtig ist.
Was nun, wenn jemand rein zufällig die * taste drückt?

Es soll halt so sein, dass nur j oder n akzeptiert wird und jede andere Taste, oder auch nur die Enter Taste gedrückt wird, das Script nicht weiter macht?

Vielen Dank
Mitglied: bastla
28.08.2011 um 19:13 Uhr
Hallo Kalamari!

Etwa so:
01.
:Eingabe 
02.
set "einverstanden=" 
03.
set /p einverstanden= 
04.
if /I "%einverstanden%"=="j" goto start 
05.
if /I "%einverstanden%"=="n" goto nichteinverstanden 
06.
echo\ 
07.
echo Bitte nur j oder n eingeben! 
08.
goto :Eingabe
Was nun, wenn jemand rein zufällig die * taste drückt?
... ist mir allerdings nicht so ganz klar ...

Grüße
bastla

P.S.: Bitte Code-Formatierung verwenden ...
Bitte warten ..
Mitglied: 99045
28.08.2011 um 19:23 Uhr
vor Zeile 4 einfügen:
Bitte warten ..
Mitglied: bastla
28.08.2011 um 19:27 Uhr
@99045
Warum?

Grüße
bastla
Bitte warten ..
Mitglied: 99045
28.08.2011 um 19:33 Uhr
@bastla

weil ich im falschen Film war? Vergiss es.

Aber man könnte die Zeile 03 abändern in
set /p einverstanden=Einverstanden: (J / N) 
Nachtrag: Und dann sollte man als Sprungmarken keine Labels verwenden, die auch z. B. als Batch-Parameter oder Programme existieren können wie z. B. "start". Irgendwann für das nur zu Problemen.
Bitte warten ..
Mitglied: Kalamari
28.08.2011 um 19:39 Uhr
Hallo

Vielen Dank!
Klappt einwandfrei.
Es ist so einfach, aber wenn man davor sitzt sieht man den Wald vor lauter Bäumen nicht.
Jetzt hinterher - total logisch

Danke!
Bitte warten ..
Mitglied: Biber
28.08.2011 um 19:53 Uhr
Moin Kalamari,

ich würde aber dennoch Kaputtnicks Gedanken aufgreifen und zusätzlich nur nach dem Variablenwert einverstanden=J abfragen und prüfen.
01.
set /p einverstanden=Einverstanden: (J / N) ? 
02.
If /i "%einverstanden%"=="J" goto :allesPrima 
03.
goto :dannHaltNicht
Grüße
Biber
Bitte warten ..
Mitglied: OKIDOKI
24.02.2012 um 12:14 Uhr
Hallo,

ich bekomme die Meldung, dass GOTO an dieser Stelle syntaktisch nicht verarbeitbar ist, was mache ich falsch?

OKIDOKI
Bitte warten ..
Mitglied: bastla
24.02.2012 um 12:57 Uhr
Hallo OKIDOKI!
was mache ich falsch?
Zunächst schon einmal, dass Du nicht Deinen Code (entsprechend formatiert) postest ...

Grüße
bastla
Bitte warten ..
Mitglied: OKIDOKI
24.02.2012 um 14:01 Uhr
peinlich ...

01.
:verz1 
02.
ECHO Verzeichnis wechseln [w] oder Rootverzeichnis [r] ? 
03.
ECHO\ 
04.
SET /P M= w/r, dann ENTER:  
05.
IF %M%==r GOTO :weiter 
06.
IF %M%==w GOTO :ver_loop 
07.
echo\ 
08.
echo Bitte nur r oder w eingeben! 
09.
goto :verz1 
10.
 
11.
:ver_loop 
12.
ECHO Directory so eingeben z.B.: hauptverzeichnis 
13.
set /p var_a=cd  
14.
>>".\config.txt" ECHO  %var_a%  
15.
 
16.
:verz 
17.
ECHO Weiter wechseln [w] oder Zielverzeichnis [z] erreicht ? 
18.
ECHO\ 
19.
SET /P M= Auswahl w/z , dann ENTER:  
20.
IF %M%==z GOTO :weiter 
21.
IF %M%==w GOTO :ver_loop 
22.
echo\ 
23.
echo Bitte nur w oder z eingeben! 
24.
goto :verz 
25.
 
26.
:weiter 
27.
:: hier gehts weiter

Grüße OKIDOKI
PS: Wie hält man die Unwissenheit von uns bloß aus ...
Bitte warten ..
Mitglied: bastla
24.02.2012 um 16:13 Uhr
Hallo OKIDOKI!

Wenn es nicht auf beiden Seiten des "==" Werte gibt, geht das daneben - daher etwa:
if /i "%M%"=="r" goto :weiter
Hier wurde auch gleich noch für eine ev klemmende Shift-Taste vorgesorgt, sodass auch die Eingabe von R akzeptiert wird ...
Es würde sich übrigens auch Zeile 13 noch eine Überprüfung der Eingabe anbieten ...

Grüße
bastla
Bitte warten ..
Mitglied: OKIDOKI
24.02.2012 um 16:44 Uhr
Super!

Zeile 13: Hier meinst du wahrscheinlich das "cd"? Dies soll am Anfang der Eingabe vorgegeben sein, weil es hier um den Verzeichnisechsel geht...

Dankeschön
OKIDOKI
Bitte warten ..
Mitglied: bastla
24.02.2012 um 16:58 Uhr
Hallo OKIDOKI!
Zeile 13: Hier meinst du wahrscheinlich das "cd"?
Nein; ich würde prüfen, ob überhaupt etwas eingegeben wurde, und wenn ja, ob der entsprechende Ordner existiert ...

Grüße
bastla
Bitte warten ..
Mitglied: OKIDOKI
24.02.2012 um 17:09 Uhr
Hallo bastla,
ja das ist natürlich richtig, vielleicht so?

01.
if defined var_a (GOTO weiter) else (GOTO error)
Gruß OKIDOKI
Bitte warten ..
Mitglied: bastla
24.02.2012 um 17:18 Uhr
Hallo OKIDOKI!

Ja, und zusätzlich ein
if not exist %var_a% (echo Den Ordner "%var_a%" gibt's nicht - bitte neu eingeben! & goto :ver_loop
Grüße
bastla
Bitte warten ..
Mitglied: OKIDOKI
24.02.2012 um 19:56 Uhr
Hallo bastla,

jetzt dachte ich schon ich habs laaangsam, da kommst du und setzt noch einen drau!

Vielen Dank euch,
OKIDOKI
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Kein Wert nach set slash p
Frage von playmenBatch & Shell2 Kommentare

Hallo Zusammen Ich beschäftige mich nun seit ca. 2h damit warum das nicht klappt, respektive erst nach dem 2. ...

Batch & Shell
Batch set p ?
gelöst Frage von dax4funBatch & Shell3 Kommentare

Hi , brauche eine kleine Hilfe ich will per ftp eine Routine steuern ich habe auf dem FTP Server ...

Windows 10

Cortana nimmt falsche Eingabe - Programmname ändern, aber wie?

Frage von complexWindows 102 Kommentare

Hallo zusammen, meine Frage ist etwas tricky, aber ich finde keinen anderen Weg: Mein Ziel war es, ein sprachgesteuertes ...

Batch & Shell

Variablen und Set

gelöst Frage von CerauxBatch & Shell2 Kommentare

Hallo, ich weiß nicht wie man mehrere Wörter in eine Variable machen? Also so: if %var1%%var2% echo Hallo %var1%=Dies ...

Neue Wissensbeiträge
Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 11 StundenWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 22 StundenSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Microsoft
Folder Security Viewer-Lizenzen zu gewinnen
Information von kgborn vor 22 StundenMicrosoft

Ich nehme das Thema mal in Absprache mit Frank hier auf, da es für den einen oder anderen Administrator ...

Hardware

Feueralarm killt Festplatten in Rechenzentrum - führt zu größerem Ausfall

Information von kgborn vor 22 StundenHardware12 Kommentare

Noch ein kleiner Beitrag für Administratoren, die in Rechenzentren aktiv sind - so als Fingerzeig. Denn es gibt Szenarien, ...

Heiß diskutierte Inhalte
Linux
Linux Server oder Windows Server - lohnt eine Umstellung auf Linux und ebenso basierende SW bei einer langfristigen Planung?
Frage von motus5Linux25 Kommentare

Wir brauchen bei uns einen neuen Server. Dieser wird als Fileserver, Domäne Controller sowie Exchange Server verwendet. Wir versuchen ...

DSL, VDSL
ISP Wechsel auf Vodefone Koax, Gebäudeverkabelung nur per Cat 7
gelöst Frage von wusa88DSL, VDSL18 Kommentare

Hallo Zusammen, ich bin momentan bei Mnet als Glasfaser Kunde und möchte Preis/Leistungs-Technisch zu Kabel Deutschland / Vodafone wechseln. ...

Windows Server
Domänencontroller trennen
Frage von Akit57Windows Server14 Kommentare

Hallo, ich hoffe das mir hier jemand meine Frage trotz der spärlichen Informationen die ich geben kann beantworten kann: ...

Hardware
Feueralarm killt Festplatten in Rechenzentrum - führt zu größerem Ausfall
Information von kgbornHardware12 Kommentare

Noch ein kleiner Beitrag für Administratoren, die in Rechenzentren aktiv sind - so als Fingerzeig. Denn es gibt Szenarien, ...