[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
利用一个特性:变量名不区分大小写,变量值却区分大小写。
  1. @echo off&setlocal enabledelayedexpansion
  2. set str=aA bB cC dD eE fF gG hH iI jJ kK lL mM nN oO pP qQ rR sS tT uU vV wW xX yY zZ
  3. for %%i in (%str%) do set "var=%%i" & set !var:~0,1!=%%i
  4. set "TS="
  5. set /P TS=请输入测试字符(没考虑特殊字符):
  6. for /l %%i in (0 1 100) do (
  7.         set "T3=!TS:~%%i,1!"
  8.         if "!T3!"=="" goto :Res
  9.         if defined !T3! (
  10.                 call set T2=%%!T3!:~0,1%%
  11.                 if "!T3!"=="!T2!" call set T2=%%!T3!:~1,1%%) else set "T2= "
  12.         set Res=!Res!!T2!
  13. )
  14. :Res
  15. echo.&echo 转换前:!TS!
  16. echo 转换后:!Res!
  17. pause>nul
复制代码
2

评分人数

    • 随风: 美中不足未考虑其他字符PB + 5
    • rat: 好!不过应当是... else set "T2=!T3!"PB + 8

TOP

原帖由 随风 于 2008-12-8 15:15 发表
set var=abc  ## adf
这种情况下把#号替换成了空格。

呵呵,只处理 字母 和空格,当初设计的时候
没考虑完全啊

TOP

LS错
大小写互换,对象不是确定的
不只是适合自己给定的一段字符

TOP

返回列表