批处理语句语法

时间:2015-12-27 17:54:15

标签: batch-file

我的程序中的if语句出现问题。例如:

if %variable% GEQ 20 (
    Do Something
)

每当我运行该程序时,我都会收到一个错误,表示此时此数字为20。

我已经在谷歌和if /?命令下查了但我还是找不到答案。谁能解释为什么会发生这种情况以及如何解决这个问题?

修改

这是设置变量的地方:

for /f "Tokens=7" %%a IN (AimiMood.txt) DO (
    set Loneliness=%%a
)

这是从中提取值的文件:

0 0 0 50 0 0 30 0 0 0 26/12/2015 23:50:30.5

2 个答案:

答案 0 :(得分:0)

我还没设法重新创建它。

检查所有变量,确保任何=符号在标签和数据之间没有空格。

@echo off
set /p test=


if %test% GEQ 20 (
echo hi
)
pause

这个例子应该向您展示它。 如果'Loneliness'被设置为预定义的整数(用户无法直接更改),请确保您使用set /a

答案 1 :(得分:0)

好的每个人我都找到了必须工作的解决方案! 它之所以起作用的原因是因为找不到文本文件。

原因是因为我只是添加文件的名称和扩展名将在程序本身中工作,并且文件位于同一目录中,如果程序在硬盘驱动器上但在我的情况是程序在可移动磁盘上,并且由于可移动磁盘上没有cmd,它对目录进行了更改,因此程序和文档不再在同一目录中了!

facepalm 给自己