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, 5827 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
Verschlüsselung & Zertifikate
Meine Wissenssammlung zu Bitlocker
Erfahrungsbericht von DerWoWusste vor 13 StundenVerschlüsselung & Zertifikate2 Kommentare

Die Motivation für diesen Beitrag waren die vielen Posts rund um dieses Thema, die deutlich machen, wie viele Einzelaspekte ...

E-Mail
Email-Apps und Verhalten bei Pop3
Erfahrungsbericht von kfranzk vor 2 TagenE-Mail11 Kommentare

Hallo Freunde, da mir mein diesbezüglicher Faden als gelöst markiert wurde, muss ich hier neu aufsetzen. Ich arbeite bewusst ...

Hyper-V

Optimiertes Ubuntu per Microsoft Hyper-V-Schnellerstellung verfügbar

Anleitung von Frank vor 2 TagenHyper-V

Für Microsofts Virtualisierungssoftware Hyper-V ist ab sofort auch ein optimiertes Ubuntu 18.04.1 LTS verfügbar. In der "Hyper-V-Schnellerstellung" App, die ...

Sicherheits-Tools

Trend Micro WorryFree Business Security (WFBS) 10 - neuer Patch 1470 verfügbar

Tipp von VGem-e vor 2 TagenSicherheits-Tools1 Kommentar

Servus, mal sehen, ob mit Patch 1470, zu finden unter dann die angeblich fehlerhafte Funktion, die unter W10 im ...

Heiß diskutierte Inhalte
Netzwerke
Hilfe bei der Planung meines Heimnetzwerks
Frage von DHD082Netzwerke14 Kommentare

Hallo zusammen, wir bauen gerade ein Einfamilienhaus, welches ich mit einem Heimnetzwerk ausstatten möchte. Da ich zwar auch in ...

Tipps & Tricks
Nagstamon und PRTG Monitoring
Frage von Der.ITlerTipps & Tricks13 Kommentare

Hallo Ihr, heute am Sonntag bin ich mal früh aufgestanden um mich mit dem Problem von Gestern zu beschäftigen. ...

Hardware
Sophos SG135 - Routing
Frage von Xaero1982Hardware13 Kommentare

Moin Zusammen, ich ersetze gerade nen alten Cisco DualWAN Router durch eine SG 135. Ich muss bestimmte Ziele über ...

Datenschutz
Gilt ein Ransomware-Befall als Datenpanne nach DSGVO?
Frage von MOS6581Datenschutz12 Kommentare

Moin Kollegen, wenn sich jemand Ransomware einfängt und dadurch bspw. Kundendaten verschlüsselt werden; gilt dies dann als meldepflichtige Datenpanne ...