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 Unterscheiden von Zahlen und Buchstaben im Batch-Script

Mitglied: KeViNK92

KeViNK92 (Level 1) - Jetzt verbinden

20.04.2010, aktualisiert 12:52 Uhr, 7339 Aufrufe, 11 Kommentare

Hallo zusammen

Also ich habe mich auch daran versucht ein Script zu basteln was zwischen Zahlen und Buchstaben unterscheidet. Nur leider klappt das nicht so ganz. Also das Script funktioniert in der Ausführung aber es schreibt halt nicht die gewünschte Antwort hin.

Villeicht könnt ihr ja mal drüber schauen

@echo off
echo Bitte geben sie etwas ein:
set /p var=
set /a "var2=%var%+5"

if %var2% == "5" ( echo Buchstaben) else ( echo Zahl)

pause


Wenn ich dann dort ein Wort eingebe kommt als Antwort dann Zahl was aber ja eig nicht so ist, weil dann dort das Ergebnis 5 rauskommen müsste.


schon mal Danke im vorraus.
Mitglied: miniversum
20.04.2010 um 12:55 Uhr
Versuchs mal so:
01.
@echo off
02.
echo Bitte geben sie etwas ein:
03.
set /p var=
04.
set /a var2=%var%+0
05.

06.
if %var% == 0 ( echo Zahl) else (if %var2% == 0 ( echo Buchstaben) else ( echo Zahl))
Bitte warten ..
Mitglied: MisterExpulso
20.04.2010 um 12:58 Uhr
Eine sehr interessante Art, das zu überprüfen Wenn du diesen Quelltext behalten willst dann lasse bei der 5 die Anführungszeichen weg.
Bitte warten ..
Mitglied: KeViNK92
20.04.2010 um 13:10 Uhr
das ist jetzt ein bisschen verwirrend für mich hast du den anfang bei if genommen, damit das ergebnis 0 auch rauskommen kann? oder warum hat mein if nicht funktioniert? Habe das mit der 5 ohne " " getestet, hat aber auch nicht funktioniert. Miniversum bei dir hats geklappt mit der hilfe, möchte bloß halt gerne eine kurze Erläuterung dazu.
Bitte warten ..
Mitglied: MisterExpulso
20.04.2010 um 13:38 Uhr
ja am Anfang steht if damit auch eine 0 eingegeben werden kann. Danach ist das eigentlich das selbe was du schon hattest nur das miniversum keine 5 - wie du - sondern eine 0 benutzt hat. Wie du siehst hat auch er keine Anführungszeichen bei der 0 deshalb kann ich mir nicht vorstellen, dass mein Vorschlag nicht funktioniert hat.

01.
@echo off
02.
echo Bitte geben sie etwas ein:
03.
set /p var=
04.
set /a "var2=%var%+5"
05.

06.
if %var == 5 (echo Zahl) else (if %var2% == "5" ( echo Buchstaben) else ( echo Zahl))
07.

08.
pause
Ist das selbe
Bitte warten ..
Mitglied: KeViNK92
20.04.2010 um 16:13 Uhr
ok vielen Dank ^^ Also war ja mein eigener Lösungsansatz gar nicht mal so falsch. Das beruhigt mich schon mal.

Jedenfalls funktioniert das jetzt super
Bitte warten ..
Mitglied: bastla
20.04.2010 um 16:55 Uhr
Jedenfalls funktioniert das jetzt super
... zumindest, bis sich jemand den Spaß erlaubt, zB "09" oder "0A" (jeweils mit Null als erster Stelle) einzugeben ...

Grüße
bastla
Bitte warten ..
Mitglied: miniversum
20.04.2010 um 18:38 Uhr
Was mir grade auffällt, du kannst es auch darauf vereinfachen:
01.
@echo off
02.
echo Bitte geben sie etwas ein:
03.
set /p var=
04.
set /a var2=%var%+0
05.
if %var2% == %var% ( echo Zahl) else ( echo Buchstaben)
Bitte warten ..
Mitglied: bastla
20.04.2010 um 19:08 Uhr
Hallo @All!

Spätestens wenn auch noch Anführungszeichen ins Spiel kommen, wird es (für Nicht-Biber ) so gut wie unmöglich, eine Eingabe in Batch abzusichern - trotzdem noch ein Ansatz:
01.
@echo off & setlocal
02.
echo Bitte geben sie etwas ein:
03.
set /p var=
04.
if not defined var echo Leere Eingaben werden nicht ausgewertet! & goto :eof
05.

06.
set "Text="
07.
set /a Pos=0
08.
:Loop
09.
call set "Zeichen=%%var:~%Pos%,1%%"
10.
if "%Zeichen%"=="" goto :Done
11.
echo 0123456789|findstr /l /c:"%Zeichen%">nul||set "Text=True"
12.
set /a Pos+=1
13.
if not defined Text goto :Loop
14.
:Done
15.
if defined Text (echo Buchstaben) else (echo Zahl)
Grüße
bastla
Bitte warten ..
Mitglied: Biber
20.04.2010 um 20:20 Uhr
Na ja, bastla,

so einfach ist das nicht, die offenen Flanken der CMD.exe abzusichern...
Dieses Stück Software haben doch die RedmonderInnen zusammengeschrotet.

Und was die alles verscharchen können, da kommen nur ganz Einfühlsame drauf.
Beispiel mit Kölnisch Wasser

01.
>set z1=4711odekolonnje
02.

03.
(=20:13:59  D:\temp=)
04.
>set /a z1+9
05.
4720
Denen reicht es völlig, wenn eine Variable mit einer Ziffer anfängt, dann ist es doch logischerweise eine Zahl, oder?

Ich weiss nicht, ob die in Redmond auch so einen schiefen Turm haben wie in PISA....
Aber dagegen wetten würde ich auch nicht.

Grüße
Biber
Bitte warten ..
Mitglied: bastla
20.04.2010 um 21:55 Uhr
@Biber
Sieht zumindest schön flüssig aus - was sich aber, wie auch in miniversums Batch, radikal ändert, wenn man/frau/kind die (in diesem Fall allerdings bekannter Maßen unnötigen) Prozentzeichen für die Variablenschreibweise verwendet:
01.
D:\TEMP>set z1=4711odekolonnje
02.

03.
D:\TEMP>set /a %z1%+9
04.
Ungültige Zahl. Nummerische Konstanten sind entweder dezimale (17),
05.
hexadezimale (0x11) oder oktale (021) Zahlen.
Grüße
bastla
Bitte warten ..
Mitglied: Biber
20.04.2010 um 22:10 Uhr
@bastla

Dann wiederum hat die mitgelieferte Hilfe zu Set (Set /?) den Wahrheitsgehalt von Kohl'schen Memoiren:

Dort steht u.a.
> Set /?
...
nicht-nummerischen Zeichenfolgen im Ausdruck werden als Zeichenfolgen von
Umgebungsvariablen behandelt, deren Werte vor der Verwendung in Zahlen
konvertiert werden. Wenn eine Umgebungsvariable angegeben wird, die nicht
definiert ist, wird für diese der Wert Null verwendet. Somit können Sie
mit Umgebungsvariablen Berechnungen vornehmen, ohne %-Zeichen einzugeben,
um deren Werte zu erhalten. Wenn der Befehl SET /A von der Befehlszeile,
d.h. außerhalb eines Befehlsskripts ausgeführt wird, dann zeigt er
den endgültigen Wert des Ausdrucks an. Der Zuordnungsoperator erfordert
Und ich sehe am Ende des Satzes "Somit können Sie mit Umgebungsvariablen Berechnungen vornehmen, ohne %-Zeichen einzugeben, um deren Werte zu erhalten." beim besten Willen kein "außer wenn" oder "allerdings" oder "Angaben ohne Gewähr".

Aber was soll's.... wahrscheinlich ist in Redmond die Auswahl an möglichen PraktikantInnen nicht so gewaltig...

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
BATCH-Script
gelöst Frage von hipfzwirgelBatch & Shell9 Kommentare

Hallo Batch-Profis, ich habe ein Batch-Script geschrieben mit welchem ich einen Treiber unattended installieren kann. Dazu benötige ich 5 ...

Pascal und Delphi

Script Pascal Buchstaben vor Zahl in bestimmter Länge

gelöst Frage von KnuefiPascal und Delphi7 Kommentare

Hallo zusammen, ich habe eine Frage zu einen Pascal Script. Ich versuche automatisch bei Zahlen einen oder zwei Buchstaben ...

Batch & Shell

Ping script batch

gelöst Frage von ThePommesBudeBatch & Shell4 Kommentare

Hallo, ich habe hier ein kleines script geschrieben, dass die IP adressen Pingen soll und zurück geben soll, ob ...

Batch & Shell

Batch Script Datensicherung

gelöst Frage von PatrickB90Batch & Shell1 Kommentar

Guten morgen, zur Datensicherung mehrerer Access MDBs wird ein regelmäßiger Task ausgeführt, der die Daten auf einen NAS kopiert. ...

Neue Wissensbeiträge
Windows 7
Updategängelung auf Windows 10, die zweite
Information von Penny.Cilin vor 4 TagenWindows 72 Kommentare

Hallo, da Windows 7 im kommenden Jahr nicht mehr supportet wird, werden Nutzer von Window 7 home premium wieder ...

Internet
EU-Urheberrechtsreform: Zusammenfassung
Information von Frank vor 6 TagenInternet1 Kommentar

Auf golem.de gibt es eine Analyse von Friedhelm Greis, der das Thema EU-Urheberrechtsreform gut und strukturiert zusammenfasst. Zwar haben ...

Microsoft Office

Office365 Schwachstellen bei Sicherheit und Datenschutz

Information von Penny.Cilin vor 7 TagenMicrosoft Office9 Kommentare

Auf Heise+ gibt es einen Artikel bzgl. Office365 Schwachstellen. Das ist noch ein Grund mehr seine Daten nicht in ...

Sicherheit
Schwachstellen in VPN Clients
Tipp von transocean vor 9 TagenSicherheit2 Kommentare

Moin, es gibt Sicherheitslücken bei VPN Clients namhafter Hersteller, wie man hier lesen kann. Gruß Uwe

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Notebooks in Firmenwlan authentifizieren
gelöst Frage von EarthShakerLAN, WAN, Wireless17 Kommentare

Guten Tag, unsere Firma möchte gerne flächendeckend WLAN einführen und hat zu diesem Zweck einen Dienstleister beauftragt. Wir benötigen ...

Peripheriegeräte
PS2 Y-Kabel für Maus+Tastatur an PS2 Combo-Anschluss ASUS Prime X370-A
gelöst Frage von Windows10GegnerPeripheriegeräte12 Kommentare

Hallo, ich bin am Überlegen das o.g. Motherboard anzuschaffen. Da ich aber noch PS/2 für Maus+Tastatur benötige (bei optischen ...

Windows 10
Netzlaufwerk verschwindet (aber nur bestimmter Laufwerksbuchstabe)
gelöst Frage von survial555Windows 1010 Kommentare

Hallo, ich habe ein ganz seltsames Problem. Systemumgebung: Server 2012 R2 als DC und Windows 10 Pro als Clients ...

Windows Server
RDP Meldung vor erzwungener Abmeldung
Frage von DOCTRLWindows Server9 Kommentare

Hallo, Situation: Remotedesktop Farm mit mehreren Servern und einer Domäne. Nutzer werden Montags und Donnerstags automatisch abgemeldet. 15 Minuten ...