如题:
我在编写一个这样的批处理文件进碰到一个这样的问题!
@echo off
setlocal enabledelayedexpansion
title design by ieutk
mode con: cols=78 lines=15
color 1a
set num=0
:input
cls&echo\&echo/
set name=
set /p name= 请输入你的名字:
if not defined name goto input
echo %name%|findstr "^*$">nul && goto st||msg /v /w %username% " 你输入的名字暂时不符合要求! ">nul
goto input
:st
:: 计算输入的字符长度
set name=%name:~0,58%
set /a num+=1
for /f "delims=" %%a in ("%num%") do (
if not "!name:~%%a,1!"=="" goto st
set chi=%%a
)
set num=0
这样子可以正确执行代码,但是问题来啦
echo %name%|findstr "^*$">nul && goto st||msg /v /w %username% " 你输入的名字暂时不符合要求! ">nul
看上面这句代码, "|" 连接符和它前后的代码之间没有空格,但是我如果改成
echo %name% |findstr "^*$">nul && goto st||msg /v /w %username% " 你输入的名字暂时不符合要求! ">nul
这样的话就会执行后面的代码出现预置的提示!
就是在 %name% 和 | 之间加一个空格和不加空格结果不一样,想知道这是为什么呢?THS