高分在线等,批处理条件判断。
@echooffREM当前目录下有两个ppt的文件,下面将结果赋值给aset"a=>nul&dir/b|find/c"ppt""REM这里输出是2正确。echo%a%但是...
@echo off
REM 当前目录下有两个ppt的文件,下面将结果赋值给a
set "a=>nul&dir /b | find /c "ppt""
REM 这里输出是2 正确。
echo %a%
但是在这里判断的时候不能输出 OK 是什么原因?
if "%a%" == "2" echo OK
pause 展开
REM 当前目录下有两个ppt的文件,下面将结果赋值给a
set "a=>nul&dir /b | find /c "ppt""
REM 这里输出是2 正确。
echo %a%
但是在这里判断的时候不能输出 OK 是什么原因?
if "%a%" == "2" echo OK
pause 展开
1个回答
展开全部
a 实际上被赋予了一个字符串 >nul&dir /b | find /c "ppt"
echo %a% 显示的就是这个字符串产生的结果,即:2
就是说, %a% 并不是2,而是>nul&dir /b | find /c "ppt",所以
if "%a%" == "2" echo OK 条件为假,不显示 OK
echo %a% 显示的就是这个字符串产生的结果,即:2
就是说, %a% 并不是2,而是>nul&dir /b | find /c "ppt",所以
if "%a%" == "2" echo OK 条件为假,不显示 OK
追问
那如何将 dir /b | find /c "ppt" 的结果保存为变量呢?
追答
for /f "delims=" %i in ('dir /b ^| find /c "ppt"') do echo %i
或者
for /f "delims=" %i in ('dir /b ^| find /c "ppt"') do set a=%i
以上是在 CMD 中运行。如果在批处理里,所有 %i 需改为 %%i
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询