本帖最后由 applba 于 2012-1-29 22:25 编辑
- @echo off
- SETLOCAL EnablEdElayEdExpansion
-
-
- ::调用实例
- set "a=&=b=^=c"
- call :dec "%a%" tmp
- echo "%tmp%"
- pause
- goto :eof
-
-
- ::=====子程序开始
- :dec
- :: 使用说明
- :: %1 为要处理的数据,必须包含双引号
- :: %2 为存放返回值的变量名称
- :: 使用范例
- :: call :dec "x=y" z ——传入字符为 x=y,返回值存放在变量z中。
- :: call :dec "%a%" a ——传入变量a的值,返回值存放在变量a中。
-
- set "var=%~1"
- if "%var%" equ "" set "var=a=&=b=^=c"
- :loop
- set "var1=!var:~%i%,1!"
- if not "%var1%" equ "=" set "s=%s%%var1%"
- set /a i+=1
- if not "%var1%" equ "" goto loop
- if "%2" equ "" (echo "%s%" ) else set "%2=%s%"
- goto :eof
- ::=====子程序结束
复制代码 做成子程序后处理^ 和% 字符有问题,其他符号没问题,头疼 |