bat脚本中if语句问题

今遇到一个纠结的问题还请各位大侠指点下:@echooffsetaaa=123echo%aaa%>>C:\text.txtif%aaa%LSS1000(setbbb=111... 今遇到一个纠结的问题还请各位大侠指点下:
@echo off
set aaa=123
echo %aaa%>>C:\text.txt
if %aaa% LSS 1000
(
set bbb=111
)
else
(
set bbb=222
)
echo %bbb%>>C:\text.txt
pause
运行时,txt中只有123也就是aaa,bbb根本打印不出来。拖到运行->CMD->中回车执行会显示命令语法不正确。LSS是小于123完全小于1000按理说应该走进去,可是感觉根本到if就开始报错了,这与系统环境有关还是?还请多多给予指教!谢谢!!!!!
展开
 我来答
talorkitty
推荐于2016-07-15 · TA获得超过771个赞
知道小有建树答主
回答量:369
采纳率:0%
帮助的人:440万
展开全部
把括号的位置改一改
@echo off
set aaa=123
echo %aaa%>>C:\text.txt
if %aaa% LSS 1000 (
set bbb=111
) else (
set bbb=222
)
echo %bbb%>>C:\text.txt
pause
追问
谢谢 你的回复!我改了括号位置是可以了。这其实是个例子,我这边截图中有个实例,可是后面那几句写不进去。把if屏蔽掉,直接set 程序就没问题了。感觉很纠结,还请帮忙再给看下?
追答
在第一行加一句话试一下
setlocal EnableDelayedExpansion
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
BB石俊杰
2011-10-10 · TA获得超过1507个赞
知道大有可为答主
回答量:1395
采纳率:0%
帮助的人:1371万
展开全部
@echo on
::问题是你复制别人的内容时,1000后面有个空格的,复制网页代码会打空格自动删除了。
::所以你的IF 这语句是没运行退了。你把ECHO OFF改为ECHO ON就可以看到你的错误在那里了。是直接退出是吧,这就是你的IF 语句错误退了。
set aaa=123
echo %aaa%>>C:\text.txt
if %aaa% LSS 1000 (set bbb=111) else (set bbb=222)
echo %bbb%>>C:\text.txt
start "" C:\text.txt
pause
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
丨丨零度丨丨
2011-10-10 · 超过51用户采纳过TA的回答
知道小有建树答主
回答量:107
采纳率:0%
帮助的人:103万
展开全部
@echo off
set aaa=123
echo %aaa%>>C:\text.txt
if %aaa% LSS 1000 (set bbb=111) else (set bbb=222)
echo %bbb%>>C:\text.txt
pause
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式