Hét vraag- en antwoordplatform van Nederland

Is er een batch-commando die een set-waarde omzet naar lower case?

Ik zoek het liefst GEEN extern commando. (Dus alleen de ingebouwde commando's die in de command.com onder een moderne Windows zitten.)

Stel het commando:
set name=Jan Klaas Pietersen
Dan staan er drie hoofdletters in de naam. Maar in een batchfile moet er bijv. gecheckt worden of de variable name gelijk is aan "jan klaas pietersen". Ook de waarde "jan klaas Pietersen" en "Jan Klaas pietersen" en "jan KLasS piEtErSen" moeten goedgekeurd worden. Etc.

Het LoCase commando bestaat niet voor zover ik weet, maar ik doel dus op iets als dit in de batchfile:
if LoCase(%name%)==jan klaas pietersen delete temp.txt
Dus als de variabele name als inhoud de naam 'jan klaas pietersen' heeft, ongeacht grote of kleine letters, dan moet temp.txt verwijderd worden.

Verwijderde gebruiker
12 jaar geleden
1K

Heb je meer informatie nodig om de vraag te beantwoorden? Reageer dan hier.

Het beste antwoord

Zo'n batch commando is er inderdaad niet. Je kunt wel zelf een subroutine schrijven die dat voor je doet. In onderstaande link staat een uitgebreid voorbeeld.
(Lees meer...)
bamibal
12 jaar geleden
Verwijderde gebruiker
12 jaar geleden
Die had ik al gevonden helaas... Maar daar kwam inderdaad geen eenvoudig commando uitgerold. Hoe moet je onderstaande herschrijven als je het niet via een subroutine doet? (Maar gewoon rechtstreeks de string wilt aanpassen.) FOR %%i IN ("A=a" "B=b" "C=c" "D=d" "E=e" "F=f" "G=g" "H=h" "I=i" "J=j" "K=k" "L=l" "M=m" "N=n" "O=o" "P=p" "Q=q" "R=r" "S=s" "T=t" "U=u" "V=v" "W=w" "X=x" "Y=y" "Z=z") DO CALL SET "%1=%%%1:%%~i%%"

Weet jij het beter..?

Het is niet mogelijk om je eigen vraag te beantwoorden Je mag slechts 1 keer antwoord geven op een vraag Je hebt vandaag al antwoorden gegeven. Morgen mag je opnieuw maximaal antwoorden geven.

0 / 5000
Gekozen afbeelding