Page 1 of 1

If...Then Not Working

Posted: 30 Jul 2023 10:29
by MikeInThe901
The code below works to set a variable CLetter based on the first letter of a new customer last name, input from the keyboard, if the first letter is 'A'. I need it to compare for A-J, not just A.

@echo off
setlocal ENABLEDELAYEDEXPANSION

set /p CName="Please enter new customer as LastName, FirstName: "
set CLetter=%CName:~0,1%

if "%CLetter%"=="A" (
set CGroup=Client Files A-J
) else (
set CGroup=Client Files K-Z
)

echo %CGroup%
pause

Re: If...Then Not Working

Posted: 30 Jul 2023 20:50
by Batcher
test-1.bat

Code: Select all

@echo off
setlocal enabledelayedexpansion

set "StrAJ=ABCDEFGHIJ"
set /p CName="Please enter new customer as LastName, FirstName: "
set "CLetter=%CName:~0,1%"

if "!StrAJ:%CLetter%=!" neq "!StrAJ!" (
    set "CGroup=Client Files A-J"
) else (
    set "CGroup=Client Files K-Z"
)

echo,%CGroup%
pause

Re: If...Then Not Working

Posted: 30 Jul 2023 20:54
by Batcher
test-2.bat

Code: Select all

@echo off
set "StrAJ=ABCDEFGHIJ"
set /p CName="Please enter new customer as LastName, FirstName: "
set "CLetter=%CName:~0,1%"

echo,%StrAJ% | findstr /i "%CLetter%" >nul
if not errorlevel 1 (
    set "CGroup=Client Files A-J"
) else (
    set "CGroup=Client Files K-Z"
)

echo,%CGroup%
pause

Re: If...Then Not Working

Posted: 30 Jul 2023 23:46
by miskox

Code: Select all

@echo off
set "StrAJ=ABCDEFGHIJ"
set /p CName="Please enter new customer as LastName, FirstName: "
set "CLetter=%CName:~0,1%"

set "CGroup=Client Files K-Z"
(echo,%StrAJ% | findstr /i "%CLetter%" >nul)&&set "CGroup=Client Files A-J"
echo,%CGroup%
pause

Re: If...Then Not Working

Posted: 31 Jul 2023 08:02
by MikeInThe901
Awesome! Thank you Batcher!