我编了一个有趣的批处理,用于2K/XP等NT类的系统,可以计算简单的表达式。只能算作入门级的吧,所以就贴在这里了。
这个批处理的最新版可以在我的E盘的“DIY”目录里下载到。
[ Last edited by namejm on 2007-2-3 at 09:49 PM ]
@echo off
echo 欢迎使用2K/XP表达式计算批处理
echo Made by Brglng 2005.8.15
echo 下载地址:http://brglng.ys168.com
echo 有bug请及时汇报!Email:sky-0310@sohu.com
echo.
echo 注意:本批处理只能用于NT类的系统,不能用于Win9x/Me/DOS!
echo 如果在命令行下使用,请用附件里的“命令提示符”或者使用
echo cmd.exe,而不要使用command.com!
echo This batch file can only be used in Chinese version of
echo Windows 2K/XP/2003...!
echo Do not use command.com instead of cmd.exe!
pause
:inputExpr
set Expr=
set EvalExpr=
echo.
echo 请输入表达式(输入"?"查看帮助):
set /p Expr=
if "%Expr%"=="" (
goto inputExpr
)
if "%Expr%"=="?" (
echo 本表达式计算批处理很简单并以递减的优先权顺序支持下列操作:
echo ^(^) ^- 分组
echo ^! ^~ ^- ^- 一元运算符
echo ^* ^/ ^% ^- 算数运算符
echo ^+ ^- ^- 算数运算符
echo ^<^< ^>^> ^- 逻辑移位
echo ^- 按位“与”
echo ^^ ^- 按位“异”
echo ^| ^- 按位“或”
echo ^= ^*^= ^/^= ^%^= ^+^= ^-^= ^- 赋值
echo ^&^= ^^^= ^|^= ^<^<^= ^>^>^=
echo ^, ^- 表达式分隔符
echo 如果您使用任何逻辑或取余操作符, 您需要将表达式字符串用
echo 引号扩起来。在表达式中的任何非数字字符串键作为环境变量
echo 名称,这些环境变量名称的值已在使用前转换成数字。如果指定
echo 了一个环境变量名称,但未在当前环境中定义,那么值将被定为
echo 零。这使您可以使用环境变量值做计算而不用键入那些 % 符号
echo 来得到它们的值。除十六进制有 0x 前缀,八进制有 0 前缀的,
echo 数字值为十进位数字。因此, 0x12 与 18 和 022 相同。请注意
echo 八进制公式可能很容易搞混: 08 和 09 是无效的数字,因为 8
echo 和 9 不是有效的八进制位数。
goto inputExpr
)
set /a EvalExpr="%Expr%"
if "%EvalExpr%"=="" (
echo 输入错误!
goto inputExpr
)
echo 计算结果为:%EvalExpr%
:if_save
set SaveEval=
echo.
echo 是否将表达式和计算结果存入文件?
set /p SaveEval=
if "%SaveEval%"=="Y" goto save
if "%SaveEval%"=="y" goto save
if "%SaveEval%"=="N" goto next
if "%SaveEval%"=="n" goto next
goto if_save
:save
echo 请输入文件路径及文件名(如C:\Windows\file.txt。若不输入路径则表示当前文件夹,留空则为上一次输入的路径):
set /p SaveEvalPath=
echo %Expr%=%EvalExpr% >>%SaveEvalPath%
echo 表达式以及计算结果已存入%SaveEvalPath%!
:next
set EvalNext=
echo 1.继续计算 2.退出
set /p EvalNext=
if "%EvalNext%"=="1" goto inputExpr
if "%EvalNext%"=="2" goto end
goto next
:end
echo 谢谢使用!按任意键退出……
pause >nul
set Expr=
set EvalExpr=
set SaveEval=
set SaveEvalPath=
set EvalNext=
这个批处理的最新版可以在我的E盘的“DIY”目录里下载到。
[ Last edited by namejm on 2007-2-3 at 09:49 PM ]
32位才是DOS未来的希望
个人网志:http://sololand.moe
个人网志:http://sololand.moe

精华I