我需要检查具有负值的字符串是否包含特殊字符。当我键入 -7.!、-7.@、-7.# 时,发现特殊字符,发送错误消息并关闭程序,但是当我键入有效值时,例如。-7.1, -7.5 发送错误信息,程序也关闭。
我尝试了在链接中找到的命令:
check-string-contains-special-characters
我试过这个:
set /p "_vLUF=Valor LUFS: "
echo;!_vLUF!|findstr /r "[%% # & ^ @ $ ~ !]" >nul && echo Invalid Value goto exit
如何使用相同的 findstr 命令检查字符串,从而避免在以下规则中使用多个 IF。
注意:不是在单个 findstr 中,而是使用 findstr 命令。
该字符串只能包含:
- negative values;
- have more than 3 digits;
- numeric characters;
- only 1 decimal value (eg. -9.00, -7.01 are not allowed);
- numbers starting without 0 (eg. -010.0, -09.0 are not allowed);
- be between the values -9.0 to -0.0. (eg. -9.1 and 0.1 are not allowed)
我修复了你的代码: