[CMD] Замена в первой букве на верхний регистр

alex_diablo

Активный пользователь
Сообщения
144
Симпатии
9
Баллы
58
#1
Добрый день.

есть переменная: %ivan.petrov%

нужно:

1. сделать из нее две переменные, т.е. name=ivan и surname=petrov
2. нужна проверка на верхний регистр, т.е. если первая буква в переменной будет в нижнем регистре, то заменить на верхний, т.е. дожно получиться: Ivan Petrov
соответственно, если уже будет Sergey Ivanov, то так и оставлять.
 

alex_diablo

Активный пользователь
Сообщения
144
Симпатии
9
Баллы
58
#3
Переменная или значение?
ну мне нужно, будет в коде написать приветствие, типа: Hello, Ivan Petrov!

т.е. я думал это сделать просто в виде Hello, %name% %surname%
но чтобы первая буква имени и фамилии были в верхнем регистре, даже если изначально они будут в нижнем.
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
5,914
Симпатии
5,756
Баллы
588
#4
CMD/BATCH:
@echo off
SetLocal EnableExtensions

set data=ivan.petrov

for /f "delims=. tokens=1,2" %%a in ("%data%") do set name=%%a& set surname=%%b
call :ProperCase %name% name
call :ProperCase %surname% surname
echo Hello, %name% %surname%
pause
goto :eof

:ProperCase
  set "str=%~1"
  set "char=%str:~,1%"& set "str=%str:~1%"
  for /f "delims=" %%a in ('"find "" "%char%" 2>&1"') do set x=%%a& call set char=%%x:~-1%%
  set "%~2=%char%%str%"
exit /b
 
Сверху Снизу