批处理 大小写转换

批处理 大小写转换

https://blog.csdn.net/u010270148/article/details/50185563

  1. @ECHO OFF

  2. SET "UP=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"

  3. SET "DOWN=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"

  4.  
  5. SET STR="falfFDFvlSDF.SDFckGmsSDFz;lJf ehmKsd"

  6. ::需要引号包含否则无法传入空格分号

  7. ECHO 原始字符串: %STR%

  8.  
  9. CHOICE /N /C UD /M "转换大写 U, 转换小写 D:"

  10.  
  11. IF ERRORLEVEL 2 ( CALL :DOWNCASE %STR% RESULT ) ELSE (

  12. IF ERRORLEVEL 1 CALL :UPCASE %STR% RESULT

  13. )

  14.  
  15.  
  16. ECHO 转换后字符串: %RESULT%

  17. PAUSE

  18. GOTO :EOF

  19.  
  20. :UPCASE

  21. ECHO UPCASE

  22. SETLOCAL ENABLEDELAYEDEXPANSION

  23. SET $=&SET "#=%~1"

  24. ECHO %#%

  25. IF DEFINED # (

  26. FOR %%A IN (%UP%) DO SET #=!#:%%A=%%A!

  27. )

  28. ENDLOCAL&SET "%~2=%#%"&EXIT/B

  29.  
  30. :DOWNCASE

  31. ECHO DOWNCASE

  32. SETLOCAL ENABLEDELAYEDEXPANSION

  33. SET $=&SET "#=%~1"

  34. IF DEFINED # (

  35. FOR %%A IN (%DOWN%) DO SET #=!#:%%A=%%A!

  36. )

  37. ENDLOCAL&SET "%~2=%#%"&EXIT/B

 

BAT 字符串大小写转换

2018年03月31日 14:14:50 河乐不为 阅读数:712 标签: BAT批处理字符串大小写转换 更多

个人分类: 批处理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/linshuhe1/article/details/79768829

前言

今天为了解决一个问题,在 Unity 中我们经常需要通过 IO 读取文件,就像我们读取表格的二进制文件例如:DirtyConf.bytes , Windows 中默认是对大小写不敏感的,所以读取的时候指定的读取名称可以是 DirtyConf 字母的任意大小写组合,例如:dirtyconf 、 DIRTYCONF 、DIrtyconf 等。

然而对于手机移动端,通过 IO 是大小写敏感的,必须与原文件名完全一致才能索取到文件,为了解决此问题,通常都是将文件名默认全部转为小写从而规避此问题。由于我的二进制文件是通过 .bat 的批处理文件生成的,所以干脆在源头解决文件名大小写的问题,省去二次处理的成本。

 

实现

在批处理中,字符串中的字母大小写转换并不像其他工具语言那么简单,调用一个函数就能完成,而是需要对每个字符进行操作替换。语法其实很简单,就是使用一个 for 循环遍历需要转化的字符串中的字符:

1. 创建一个 test.bat 的批处理文件,内容如下:

@echo off
:: 声明一个用于转换的测试字符串
set SHEET_NAME_LOWER="DirtyConf"
echo.
echo             转化前: %SHEET_NAME_LOWER%
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 call set SHEET_NAME_LOWER=%%SHEET_NAME_LOWER:%%i=%%i%%
echo.
echo             转化为小写: %SHEET_NAME_LOWER%
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 call set SHEET_NAME_LOWER=%%SHEET_NAME_LOWER:%%i=%%i%%
echo.
echo             转化为大写: %SHEET_NAME_LOWER%
pause

2. 双击 test.bat 执行批处理,结果如下:

​
                        转化前: "DirtyConf"
​
                        转化为小写: "dirtyconf"
​
                        转化为大写: "DIRTYCONF"
请按任意键继续. . .

 

参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值