我正在尝试测试字符串是否为大写。我知道这有效:
@echo off
setlocal enabledelayedexpansion
set X=A
set Y=a
echo !X!|findstr "^[ABCDEFGHIJKLMNOPQRSTUVWXYZ]*$"
echo !errorlevel!
echo !Y!|findstr "^[ABCDEFGHIJKLMNOPQRSTUVWXYZ]*$"
echo !errorlevel!
如果errorlevel
不是大写,则结果为echo
,但我想知道它是否为if
部分的大写,例如使用findstr
声明。但是我不知道如何使用errorlevel
并传递一个变量进行测试,因此可以使用if
来生成<div id="DivImgHolderFloat1">
<img id="ImgFloat1" src="img/banner/Banner-1-float.png">
</div>
<div id="DivImgHolderFloat2">
<img id="ImgFloat2" src="img/banner/Banner-2-float.png">
</div>
<div id="DivImgHolderFloat3">
<img id="ImgFloat3" src="img/banner/Banner-3-float.png">
</div>
我可以在#DivImgHolderFloat1{
position: relative;
width: 350px;
border: 1px solid red;
float: right;
margin-right: 620px;
margin-top: 85px;
opacity: 0;
}
#ImgFloat1{
width: 100%;
}
#DivImgHolderFloat2{
position: relative;
width: 250px;
border: 1px solid red;
float: left;
margin-left: 400px;
margin-top: 85px;
opacity: 0;
}
#ImgFloat2{
width: 100%;
}
#DivImgHolderFloat3{
position: relative;
width: 1000px;
border: 1px solid red;
float: left;
margin-left: 230px;
opacity: 0;
}
#ImgFloat3{
width: 100%;
}
语句中进行测试。
答案 0 :(得分:3)
您需要ECHO,但您不需要测试ERRORLEVEL。您可以使用&&
来测试前面的命令是否失败,或||
来测试它是否失败。您也可以将FINDSTR重定向到nul,因为您不需要查看输出。
@echo off
setlocal enabledelayedexpansion
set X=A
set Y=a
for %%V in (X Y) do echo(!%%V!|findstr "^[ABCDEFGHIJKLMNOPQRSTUVWXYZ]*$" >nul && (
echo !%%V! is all upper case
) || (
echo !%%V! is not all upper case
)
所有东西都可以放在一行,但为了便于阅读,我使用括号和多行。
答案 1 :(得分:0)
@echo off
setlocal enabledelayedexpansion
rem this bat only validates one character.
set Y=a
for /f "delims=" %%i in ('echo !Y!^|findstr "^[ABCDEFGHIJKLMNOPQRSTUVWXYZ]*$"') do set output=%%i
if [%output%]==[] (echo !Y! is lower case) else (echo !Y! is upper case)
rem Expected output: a is lower case
因为它正在使用findstr。
findstr/?
Searches for strings in files.
FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:file]
[/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]]
strings [[drive:][path]filename[ ...]]
如果未创建包含[a-z]的新文本文件,则ECHO部分可能是不可避免的。 我稍微修改了代码,以避免回显不必要的信息。