Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Platzhalter in Batchdatei?

Frage Entwicklung Batch & Shell

Mitglied: gr4v3l

gr4v3l (Level 1) - Jetzt verbinden

21.07.2013, aktualisiert 23.07.2013, 2210 Aufrufe, 6 Kommentare

Ich wollte fragen ob es in Batch generell so etwas wie einen Platzhalter gibt (z.B.*,?,_…)
Ich bräuchte ihn für ein eine zeile die bei einer Zufallszahl (%random%) herausfindet ob die Zahl auf 5 endet, also in etwa so:

if %zahl%==*5 goto 5
if not %zahl%==*5 goto nein

Ich bräuchte aber direkt so etwas wie einen Platzhalter,da ich den wahrscheinlich noch öfter brauchen werde.
Ich hoffe ich hab alles wichtige erwähnt, beantworte auch gerne fragen und bedanke mich schonmal für Hilfe
PS: Bin neu hier...
Mitglied: rubberman
21.07.2013, aktualisiert um 02:23 Uhr
Hallo gr4v3l, willkommen im Forum.

Einen generellen Platzhalter gibt es nicht. So etwas findest du unter Umständen bei Befehlen, die für Arbeiten im Dateisystem bestimmt sind. Für IF Anweisungen gibt es das nicht.
Es gibt mehrere Möglichkeiten für ein Workaround. Die einfachste in deinem Fall ist Stringmanipulation. Schau dir hierzu die Hilfe zu SET an.
if %zahl:~-1%==5 goto 5
Das letzte Zeichen in der Variablen wird mit 5 verglichen.

Grüße
rubberman
Bitte warten ..
Mitglied: gr4v3l
22.07.2013 um 22:20 Uhr
Danke,werds mal ausprobieren
Das mit String muss ich mir mal genauer anschauen, wie gesagt bin eher neu
lg gr4v3l
Bitte warten ..
Mitglied: Biber
22.07.2013, aktualisiert um 23:44 Uhr
Moin gr4v3l,

das ist doch hoffentlich nur der Plan B, über einen Stringvergleich feststellen zu wollen, ob eine Zahl auf 5 endet???

Damals, als es noch keine Smartphones leichter als 3kg und Clouds nur ohne Elektronik gab, da haben wir es in etwa so gerechnet:

> Set /a zahl=7265 
 
> set /a rest=zahl % 10 %5 
> IF %rest% EQU 0 @echo Zahl %zahl% endet auf 5, denn 5 modulo 5 ergab 0 
Zahl 7265 endet auf 5, denn 5 modulo 5 ergab 0
Nur so als Anregung..

P.S. Willkommen im Forum.

Grüße
Biber
Bitte warten ..
Mitglied: Endoro
22.07.2013 um 23:57 Uhr
Nicht zu vergessen die oberedle Regex Lösung
01.
echo %zahl%|findstr /e "5" >nul && echo fünf am Ende || echo keine fünf am ende
lg
Bitte warten ..
Mitglied: rubberman
22.07.2013, aktualisiert 23.07.2013
Hallo Biber,

naja, der Plan B sollte meiner Meinung nach ein Plan B sein, weil die Zahl (laut gr4v3l) eine Zufallszahl ist und man diese von vorn herein (mit Modulo) auf einen bestimmten Wertebereich trimmt um damit zu arbeiten. Aber dazu würde man wieder mal die berühmte Glaskugel brauchen.

Warum ich mich für Stringmanipulation entschieden habe? Ganz einfach, Modulo schlägt fehl: 10 / 5 = 2 Rest 0. Bekanntlich endet 10 aber nicht auf 5. Dein vorhergehendes Modulo 10 ändert daran nie das Geringste: 10 / 10 = 1 Rest 0 / 5 = 0 Rest 0.
Ein einfaches Modulo 10 wäre es gewesen, anschließend auf Ergebnis 5 prüfen. Braucht aber das zusätzliche SET /A mit der Hilfsvariablen, wobei das Ergebnis das Gleiche ist wie bei meinem Vorschlag.
Der Vergleich würde übrigens auch bei mir immer noch numerisch erfolgen (mit Operator EQU statt ==), da der resultierende String numerisch ist (auch wenn das nichts zur Sache tut, solange man auf Gleichheit prüft ).

Grüße
rubberman
Bitte warten ..
Mitglied: Biber
23.07.2013, aktualisiert um 09:42 Uhr
Moin rubberman,

Zitat von rubberman:
Hallo Biber,

Ein einfaches Modulo 10 wäre es gewesen, anschließend auf Ergebnis 5 prüfen.
Ja, das fiel mir gestern abend auch noch ein - aber da wollte ich keinen Rechner mehr anschalten.
Die einzigen zwei Entschuldigungen:
  • Mathe war keines meiner Leistungsfächer
  • es war ein sehr warmer Montach gestern

set /a rest=zahl % 10 reicht völlig, und dann gucken, ob 5 übrig bleibt.
Natürlich funktioniert ein Stringvergleich auch - sogar bei "Chanel no 5", bei dem meine Methode nicht erkennen würde, dass es auf "5" endet.

Grüße
Biber
Bitte warten ..
Neuester Wissensbeitrag
Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...