badbatchcoder
Goto Top

Batch- Überprüfen ob ein Zeichen ein Leerzeichen ist

Hey,

ich bin mit Batch noch relativ unerfahren und möchte überprüfen, ob %string~4,1%
(an der 5. Stelle meines Strings) ein Leerzeichen ist oder nicht.
Wenn sich dort ein Leerzeichen befindet, soll die Variable %ifspace% auf "1" gesetzt werden.
Ansonsten soll sie auf "0" bleiben.

Habe gerade folgendes versucht:
@echo off
set string=1234 56
set ifspace=0

if %string~4,1%==" " set ifspace=1  
pause
Das Programm hat sich aber immer gleich wieder geschlossen - trotz des "pause"-Befehls.

Ich hoffe mir kann hierbei jemand weiterhelfen.
LG BatchCoder

Content-Key: 613493

Url: https://administrator.de/contentid/613493

Printed on: April 23, 2024 at 20:04 o'clock

Member: rubberman
Solution rubberman Oct 16, 2020 updated at 16:01:45 (UTC)
Goto Top
Anführungszeichen werden mit verglichen. Also musst du sie auch um deine Variable setzen.
BTW Du hast den Doppelpunkt vergessen.
"%string:~4,1%"

Steffen
Member: BadBatchCoder
BadBatchCoder Oct 16, 2020 updated at 16:17:07 (UTC)
Goto Top
Oh, ok =)
Vielen Dank für deine Hilfe!

Hab jetzt den Doppelpunkt ergänzt, jetzt lässt sich das Skript wenigstens starten.
Soll ich jetzt eine Variable mit dem Wert " " erstellen und dann nach der Variable überprüfen?

Das hätte ich jetzt nämlich folgendermaßen gelöst:

@echo off
set space=" "  
set string=1234 56
set ifspace=0

if %string:~4,1%==%space% set ifspace=1
pause

Oder muss da das Leerzeichen nach %space% und die Anführungsstriche bei der Variable oben noch weg?
Member: rubberman
Solution rubberman Oct 16, 2020 at 16:26:30 (UTC)
Goto Top
Ich hatte dir doch die Variable schon in Anführungszeichen gesetzt ¯\_(ツ)_/¯ Dann eben noch mal ...
if "%string:~4,1%"==" " set ifspace=1

Steffen
Member: BadBatchCoder
BadBatchCoder Oct 16, 2020 at 16:34:55 (UTC)
Goto Top
Tut mir leid, hab ich nicht genau vestanden. Funktioniert aber jetzt alles, danke! :D