Board logo

标题: [文本处理] 调用小写转大写的的批处理函数为何失败? [打印本页]

作者: gougjp    时间: 2013-11-6 14:22     标题: 调用小写转大写的的批处理函数为何失败?

请教各位高手,我写了一个小写转大写的函数,然后调用的时候第一次成功了,然后我修改第二个参数teststr1,随便改一个名字,然后echo %teststr1%
这一句不变,结果执行成功了,并且打印正确,请问我这个函数哪里实现有问题吗?
  1. @echo off
  2. echo ++++++++++++
  3. call :upcase "test1" teststr1
  4. echo %teststr1%
  5. echo ++++++++++++
  6. :eof
  7. echo end
  8. exit /b 0
  9. :upcase
  10. setlocal enabledelayedexpansion & set "str=%1"
  11. for %%a 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 set "str=!str:%%a=%%a!"
  12. endlocal & set "%2=%str%"
复制代码

作者: foxJL    时间: 2013-11-6 14:54

  1. @echo off&setlocal enabledelayedexpansion
  2. set/p str=输入:
  3. echo ++++++++++++
  4. call :upcase
  5. echo !str!
  6. echo ++++++++++++
  7. pause
  8. exit
  9. :upcase
  10. for %%a 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 set str=!str:%%a=%%a!
  11. goto :eof
复制代码

作者: PowerShell    时间: 2013-11-6 18:14

  1. "aBc".toupper()
复制代码
powershell 中, 调用“aBc” 这个字符串对象的.toupper()方法


又来一个重新发明轮子的。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2