标题: 怎样才能使输入的英文小写在输出后自动变为大写?
[打印本页]
作者: wuhanbin
时间: 2008-8-19 15:16
标题: 怎样才能使输入的英文小写在输出后自动变为大写?
怎样才能使输入的英文小写在输出后自动变为大写?
另外,怎样限制字符只能为8个?
set /p lng=请输入英文:
echo %lng%>>1.txt
作者: HAT
时间: 2008-8-19 15:21
@echo off
set /p lng=请输入英文:
for %%a in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do call set lng=%%lng:%%a=%%a%%
echo %lng:~0,8%
作者: wuhanbin
时间: 2008-8-19 15:25
我想要只能输入8个字符
不过如果<8个字符或>8个字符会提示“错误,请重新输入”
这样能做到吗?
[
Last edited by wuhanbin on 2008-8-19 at 03:30 PM ]
作者: wuhanbin
时间: 2008-8-19 15:45
另外想问下,do call set 中call不用要紧吗?
%lng%与%%lng有什么区别?
lng=%%lng:%%a=%%a%%这里的:是用%%a的值替换前面的%%lng的意思吗?
=%%a%%等号后为什么用了双重%,是什么意思?
[
Last edited by wuhanbin on 2008-8-19 at 03:46 PM ]
作者: HAT
时间: 2008-8-19 15:55
标题: Re 3楼
@echo off
:begin
set /p lng=请输入英文:
for /f "skip=1 delims=:" %%a in ('^(echo "%lng%"^&echo.^)^|findstr /o ".*"') do set /a length=%%a-5
if %length% neq 8 (
echo 错误,请重新输入
goto :begin
)
for %%a in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do call set lng=%%lng:%%a=%%a%%
echo %lng:~0,8%
作者: HAT
时间: 2008-8-19 15:56
//另外想问下,do call set 中call不用要紧吗?
要紧
//%lng%与%%lng有什么区别?
//lng=%%lng:%%a=%%a%%这里的:是用%%a的值替换前面的%%lng的意思吗?
//=%%a%%等号后为什么用了双重%,是什么意思?
本版搜索“变量延迟扩展”
作者: wuhanbin
时间: 2008-8-19 15:59
谢谢