Достаточно просто использовать функцию ToLower () в PowerShell. Если вы используете поддерживаемую платформу Windows, PowerShell доступен. Он работает на Linux и Ma c.
SET "STRING=Hello, how are you ?"
FOR /F "delims= eol=" %A IN ('powershell -NoLogo -NoProfile -Command "'%STRING%'.ToLower()"') DO (SET "STRING=%~A")
ECHO STRING is now === %STRING%
Если это входит в сценарий файла .bat, удвойте символ PERCENT в переменной FOR l oop.
SET "STRING=Hello, how are you ?"
FOR /F "delims= eol=" %%A IN ('powershell -NoLogo -NoProfile -Command "'%STRING%'.ToLower()"') DO (SET "STRING=%%~A")
ECHO STRING is now === %STRING%
Он обработает строку, содержащую символ QUOTATION MARK.
C:\src\t>SET "STRING=Now Is ""The Time"
C:\src\t>FOR /F "delims= eol=" %A IN ('powershell -NoLogo -NoProfile -Command "'%STRING%'.ToLower()"') DO (SET "STRING2=%~A")
C:\src\t>(SET "STRING2=now is "the time" )
C:\src\t>SET STRING
STRING=Now Is ""The Time
STRING2=now is "the time
Если код написан в PowerShell, это может быть:
$String = "Hello, how are you?".ToLower()
Write-Output $String