The ampersand connects multiple instructions. You cannot write one
set command and expect the processor to carry it across multiple ampersands.
Write all your
set lines (except the first) as one line in your editor. If the editor wraps, that's ok, just keep typing (just like you did in your original post):
@echo off
set /p set name=Enter name:
set name=%name:A=ka% & set name=%name:B=tu% & set name=%name:C=mi% &
set name=%name:D=te% & set name=%name:E=ku% & set name=%name:F=lu% &
set name=%name:G=ji% & set name=%name:H=ri% & set name:%name:I=ki% & set name=%name:J=zu%
& set name=%name:K=me% & set name=%name:L=ta% & set name=%name:M=rin% &
set name=%name:N=to% & set name=%name:O=mo% & set name=%name:P=no% &
set name=%name:Q=ke% & set name=%name:R=shi% & set name=%name:S=ari% &
set name=%name:T=chi% & set name=%name:U=do% & set name=%name:V=ru% &
set name=%name:W=me% & set name=%name:X=na% & set name=%name:Y=fu% &
set name=%name:Z=zi%
cls
echo %name%
pause >nul
exit
An alternative (and better) way is to put each
set on a separate line:
@echo off
set /p set name=Enter name:
set name=%name:A=ka%
set name=%name:B=tu%
set name=%name:C=mi%
set name=%name:D=te%
set name=%name:E=ku%
set name=%name:F=lu%
set name=%name:G=ji%
set name=%name:H=ri%
set name=%name:I=ki%
set name=%name:J=zu%
set name=%name:K=me%
set name=%name:L=ta%
set name=%name:M=rin%
set name=%name:N=to%
set name=%name:O=mo%
set name=%name:P=no%
set name=%name:Q=ke%
set name=%name:R=shi%
set name=%name:S=ari%
set name=%name:T=chi%
set name=%name:U=do%
set name=%name:V=ru%
set name=%name:W=me%
set name=%name:X=na%
set name=%name:Y=fu%
set name=%name:Z=zi%
cls
echo %name%
pause >nul
exit
The
set statement is not case sensitive. As far as I know there is no continuation character in batch language. I recommend you use one
set statement per line.
I have no idea what you're doing but the results should be surprising