标题: 批处理可否进行字符运算?
[打印本页]
作者: afxwzg
时间: 2007-6-6 16:31
标题: 批处理可否进行字符运算?
我知道批处理可以通过set /a进行数字运算,但好像对字符就不行,比如:
@echo off
setlocal
set temp=h
set /a temp-=a
echo %temp%
我想像c语言那样得到结果7(实际显示为0),不知道批处理可否做到?
作者: wudixin96
时间: 2007-6-6 16:53
在 SET 命令中添加了两个新命令行开关:
SET /A expression
SET /P variable=[promptString]
/A 命令行开关指定等号右边的字符串为被评估的
数字表达式。
作者: afxwzg
时间: 2007-6-6 16:57
或者不使用set /a,用其它方法能不能实现?
作者: bjsh
时间: 2007-6-6 18:35
把下面这个改造成 一个函数来 进行 call ;
把 字符转换为 对应的 ascII 值;
@echo off & setlocal enabledelayedexpansion
:change
set /a count = 65
for %%i in ( A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ) do (
if /i "%1"=="%%i" if "%1"=="%%i" (set /a var=!count!) else (set /a var=!count!+32)
set /a count+=1
)
echo %var%