这一段bat命令有什么错?

来源:百度知道 编辑:UC知道 时间:2024/06/22 02:06:22
@echo off&setlocal enabledelayedexpansion
color 0c

if not defined a set a=0
if not defined b set b=0
for /f "tokens=2 Delims==" %%a in ('find "a" "%windir%\p.txt"')do set a=%%a>nul
for /f "tokens=2 Delims==" %%b in ('find "b" "%windir%\p.txt"')do set b=%%b>nul

set/a out=!a!+!b!
set/a zz=!a!+!b!
set/a ap=!a!/!zz!*100
set/a bp=!b!/!zz!*100
if !out!==10 goto 1

cls
echo 你喜欢社会主义还是资本主义?
echo 1.社会主义
echo 2.资本主义
echo.
set/p p=选择[1/2]:
if %p%==1 set/a a=!a!+1
if %p%==2 set/a b=!b!+1
echo a=!a!>%windir%\p.txt&&echo b=!b!>>%windir%\p.txt

cls
echo 投票成功,当前
echo.
echo 社会主义 当前 %a% 票
echo 资本主义 当前 %b% 票
echo.
echo 按任意键退出。
pause>nul
exit

:1
cls
IF '!a!'$G'!b!' set/a zy="社会主义"
IF &#

IF '!a!'$G'!b!' set/a zy="社会主义"
IF '!a!'$L'!b!' set/a zy="资本主义"
IF '!a!'$Q'!b!' set/a zy="没有一个"

改成

IF "!b!" lss "!a!" set zy="社会主义"
IF "!b!" gtr "!a!" set zy="资本主义"
IF "!a!" equ "!b!" set zy="没有一个"

不知道你是什么语法的,DOS读不出来。你可以运行里输入cmd /k if/?看看用法。

没有错误,很正确!

if not defined a set a=0
if not defined b set b=0
for /f "tokens=2 Delims==" %%a in ('find "a" "%windir%\p.txt"')do set a=%%a>nul
for /f "tokens=2 Delims==" %%b in ('find "b" "%windir%\p.txt"')do set b=%%b>nul

set/a out=!a!+!b!
set/a zz=!a!+!b!
set/a ap=!a!/!zz!*100
set/a bp=!b!/!zz!*100
if !out!==10 goto 1

有错,除0