In Zeichenkette prüfen, ob andere Symbolen außer Zahlen (0-9) vorhanden sind und bei erfüllter Bedingung Meldung ausgeben.
Hallo,
wie kann z. B. geprüft werden, ob in dem Namen einer Datei 23woche65.txt andere Symbolen außer Zahlen vorhanden sind (egal welche - auch Lehrzeichen)?
Ich habe sehr viel mit findstr und regulären Ausdrücken experimentiert - leider ohne Erfolg.
Keine leichte Aufgabe, wie es sich anhöhrt...
Danke für die Tipps!
Gruß
evinben
wie kann z. B. geprüft werden, ob in dem Namen einer Datei 23woche65.txt andere Symbolen außer Zahlen vorhanden sind (egal welche - auch Lehrzeichen)?
Ich habe sehr viel mit findstr und regulären Ausdrücken experimentiert - leider ohne Erfolg.
Keine leichte Aufgabe, wie es sich anhöhrt...
Danke für die Tipps!
Gruß
evinben
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 188027
Url: https://administrator.de/forum/in-zeichenkette-pruefen-ob-andere-symbolen-ausser-zahlen-0-9-vorhanden-sind-und-bei-erfuellter-bedingung-188027.html
Ausgedruckt am: 04.04.2025 um 07:04 Uhr
11 Kommentare
Neuester Kommentar
Hallo evinben!
Etwa so:
- der Schalter lässt sich natürlich auch umgekehrt verwenden:
Grüße
bastla
Etwa so:
@echo off & setlocal
set "String=23Woche65.txt"
set "OK=True"
for /f "delims=.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijkrlmnopqrstuvwxyz" %%i in ("%String%") do set "OK="
if defined OK echo Keine Sonderzeichen!
@echo off & setlocal
set "String=23-Woche65.txt"
set "Sonder="
for /f "delims=.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijkrlmnopqrstuvwxyz" %%i in ("%String%") do set "Sonder=True"
if defined Sonder echo Sonderzeichen!
bastla
Hm ums noch genauer zu machen, da hier von Sonderzeichen die rede ist, würde ich nach delims auch noch Sonderzeichen Schreiben.
Hier mal alle Sonderzeichen die man mit jeder Tastatur erzeugen kan.
Ich weiß jezt leider nicht mit welchen Batch klarkommt oder ob's manche garnicht annimmt, aber da sind die Experten gefragt.
Grüße
Darkprodukt
Hier mal alle Sonderzeichen die man mit jeder Tastatur erzeugen kan.
!"#$%&'()*+,-./0123456789:;<=> ?@ABCDEFGHIJKLMNOPQRSTUV
WXYZ[\]^_`abcde fghijklmnopqrstuvwxyz{|}~ ¡¢£¤¥¦§¨©ª«¬®¯ °±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×Ø ÙÚÛÜÝÞßàáâã
äåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ ĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘę
ĚěĜĝĞğĠġĢģĤĥĦ ħĨĩĪīĬĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏ Ő
őŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶ ŷŸŹźŻżŽžſƏƒƠơƯưǍǎ
ǏǐǑǒǓǔǕǖǗǘǙǚǛǜǺǻǼǽǾǿəˆ ˇˉ˘˙˚˛˜˝̣;΄΅Ά·ΈΉΊΌΎΏΐΑΒΓΔΕΖΗΘ
ΙΚΛΜΝΞΟΠΡΣ ΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋό ύώЁЂ
ЃЄЅІЇЈЉЊЋЌЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦ ЧШЩЪЫЬЭЮЯабвгдежзийк
лмнопрстуфхцчшщъыьэ юяёђѓєѕіїјљњћќўџҐґҒғҖҗҚқҜҝҢңҮүҰұҲҳҸҹ
ҺһӘ әӨөְֱֲֳִֵֶַָֹֻּֽ־ֿ׀ׁׂ׃אבגדהוזחטיךכלםמןנסע ף
פץצקרשתװױײ׳״،؛؟ءآأؤإئابةتثجحخدذرزسشصضط ظعغفقكلم
نهوىيًٌٍَُِّْٕٓٔ٠١٢٣٤٥٦٧٨٩٪٫٬٭ٰ ٱٲٳٴٵٶٷٸٹٺٻټٽپٿڀځڂڃڄڅچڇڈډڊڋڌڍڎڏڐڑڒړڔڕږڗژڙ ښڛڜڝڞڟڠڡڢڣ
ڤڥڦڧڨکڪګڬڭڮگڰڱڲڳڴڵڶڷڸڹںڻڼڽھڿۀ ہۂۃۄۅۆۇۈۉۊۋیۍێۏېۑےۓ۔ەۖۗۘۙۚۛۜۜ۞ۣ۟۠ۡۢۤۥۦۧۨ ۩۪ۭ۫۬۰۱۲۳۴۵۶۷۸۹ۺۻۼ۽۾
ẀẁẂẃẄẅẠạẢảẤấẦầẨẩẪẫẬ ậẮắẰằẲẳẴẵẶặẸẹẺẻẼẽẾếỀềỂểỄễỆệỈỉỊịỌọỎỏỐ
ốỒồ ỔổỖỗỘộỚớỜờỞởỠỡỢợỤụỦủỨứỪừỬửỮữỰựỲỳỴỵỶỷỸỹ –—―‗‘
’‚‛“”„†ـ†‡•…‰′
″‹›‼‾⁄ ⁿ₣₤₧₪₫€℅ℓ№™Ω℮⅓⅔⅛⅜⅝⅞←↑→↓↔↕↨∂∆∏∑−∕∙√∞∟∩∫≈≠≡ ≤≥⌂⌐⌠⌡─│┌
┐└┘├┤┬┴┼═║╒╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡╢╣╤╥ ╦╧╨╩╪╫╬▀▄█▌▐░▒▓■□▪▫▬▲►▼◄◊
○●◘◙◦☺☻☼♀♂♠♣♥♦ ♪♫
fiflיִﬞײַﬠשׁשׂשּׁשּׂאַאָאּבּגּדּהּוּזּטּיּ ךּכּלּמּנּסּףּפּצּקּרּשּתּוֹבֿכֿפֿﭏﭐﭑﭒﭓﭔﭕﭖﭗﭘﭙﭚﭛﭜﭝﭞﭟ
ﭠﭡﭢﭣﭤ ﭥﭦﭧﭨﭩﭪﭫﭬﭭﭮﭯﭰﭱﭲﭳﭴﭵﭶﭷﭸﭹﭺﭻﭼﭽﭾﭿﮀﮁﮂﮃﮄﮅﮆﮇﮈﮉﮊﮋﮌﮍ ﮎﮏﮐﮑﮒﮓﮔﮕﮖﮗﮘﮙﮚﮛﮜﮝﮞﮟ
ﮠﮡﮢﮣﮤﮥﮦﮧﮨﮩﮪﮫﮬﮭﮮﮯﮰﮱﯓﯔﯕ ﯖﯗﯘﯙﯚﯛﯜﯝﯞﯟﯠﯡﯢﯣﯤﯥﯦﯧﯼﯽﯾﯿﱞﱟﱠﱡﱢ﴾﴿ﷲﺀﺁﺂﺃﺄﺅﺆﺇﺈﺉﺊ ﺋﺌ
ﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰﺱ ﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄ
ﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑﻒﻓﻔﻕﻖﻗﻘ ﻙﻚﻛﻜﻝﻞﻟﻠﻡﻢﻣﻤﻥﻦﻧﻨﻩﻪﻫﻬﻭﻮﻯﻰﻱﻲﻳﻴﻵﻶﻷﻸﻹﻺﻻﻼ
Ich weiß jezt leider nicht mit welchen Batch klarkommt oder ob's manche garnicht annimmt, aber da sind die Experten gefragt.
Grüße
Darkprodukt
@Darkprodukt
Gut gemeint, aber kontraproduktiv - als Delimiter sollen nur erlaubte Zeichen verwendet werden, damit, wenn der geprüfte String keine anderen Zeichen enthält, der "
Grüße
bastla
Gut gemeint, aber kontraproduktiv - als Delimiter sollen nur erlaubte Zeichen verwendet werden, damit, wenn der geprüfte String keine anderen Zeichen enthält, der "
do
"-Teil nicht ausgeführt wird (da für einen Leersting kein Token gebildet wird) ...Grüße
bastla
Nein ^^
So wie ich Bastlas Programm verstanden habe musst du einfach nur die Zeichen bei Delims eintragen die erlaubt sind also:
bastla:
Solte ausreichen.
Mich hat nur das bei Bastla verwirrt "delims=.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijkrlmnopqrstuvwxyz"
da ja eigentlich nur Zahlen in der Datei stehn solten.
Bzw. darauf gepfrüft werden solte ob was anderes da steht.
So wie ich Bastlas Programm verstanden habe musst du einfach nur die Zeichen bei Delims eintragen die erlaubt sind also:
bastla:
@echo off & setlocal
set "String=23Woche65.txt"
set "OK=True"
for /f "delims=0123456789" %%i in ("%String%") do set "OK="
if defined OK echo Keine Sonderzeichen!
Solte ausreichen.
Mich hat nur das bei Bastla verwirrt "delims=.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijkrlmnopqrstuvwxyz"
da ja eigentlich nur Zahlen in der Datei stehn solten.
Bzw. darauf gepfrüft werden solte ob was anderes da steht.
@Darkprodukt
Grüße
bastla
So wie ich Bastlas Programm verstanden habe musst du einfach nur die Zeichen bei Delims eintragen die erlaubt sind
Yep.da ja eigentlich nur Zahlen in der Datei stehn solten
Meine Interpretation (und was sollte ich mir hinsichtlich des Beispiels "23woche65.txt" anderes denken) war, dass als "Sonderzeichen" nur Ziffern erlaubt sein sollten - deswegen auch das ganze Alphabet und der Punkt als "erlaubt" ...Grüße
bastla
Hallo evinben!
Jetzt blicke ich noch weniger durch - auch hinsichtlich der Tatsache, dass Du den Thread für gelöst erklärt hast ...
Grundsätzlich müsstest Du jedenfalls eine von 2 Mengen angeben - jene der erlaubten oder jene der nicht erlaubten Zeichen, da ansonsten eine Prüfung einfach nicht möglich ist ...
Grüße
bastla
Jetzt blicke ich noch weniger durch - auch hinsichtlich der Tatsache, dass Du den Thread für gelöst erklärt hast ...
Grundsätzlich müsstest Du jedenfalls eine von 2 Mengen angeben - jene der erlaubten oder jene der nicht erlaubten Zeichen, da ansonsten eine Prüfung einfach nicht möglich ist ...
Grüße
bastla
So Erklärung.
@bastla
Das Programm soll eine Datei namens 23woche65.txt überprüfen,
ob in dieser Datei andere Zeichen als die Nummern 0-9 vorhanden sind.
@evinben
Es gibt 2 Möglichkeiten dieses Programm zu schreiben.
Die Erste.
Man gibt alle Zeichen an die nicht vorkommen dürfen und überprüft,
ob eines in der Datei ist.
Die Zweite.
Man gibt alle Zeichen an die vorkommen dürfen und überprüft,
ob nur diese Zeichen da sind.
Hier die Letztere und die solte Fungtionieren.
@bastla
Das Programm soll eine Datei namens 23woche65.txt überprüfen,
ob in dieser Datei andere Zeichen als die Nummern 0-9 vorhanden sind.
@evinben
Es gibt 2 Möglichkeiten dieses Programm zu schreiben.
Die Erste.
Man gibt alle Zeichen an die nicht vorkommen dürfen und überprüft,
ob eines in der Datei ist.
Die Zweite.
Man gibt alle Zeichen an die vorkommen dürfen und überprüft,
ob nur diese Zeichen da sind.
Hier die Letztere und die solte Fungtionieren.
@echo off & setlocal
set "OK=True"
for /f "delims=0123456789" %%i in ('type "23Woche65.txt"') do set "OK="
if defined OK echo Keine Sonderzeichen!