[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理中环境变量如何区分大小写以及如何换行?

http://www.bathome.net/thread-8179-1-1.html
我尝试写if_exist的练习题时好不容易能够正确弄出环境变量了,但是在替换时缺无法正确替换,另外对于类似的文本什么时候换行处理不会
发现只能替换#A,而遇到#a时,替换的还是#A

我的代码如下
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=2,3 delims= " %%a in ('findstr /c:"define" a.txt') do (
  3.     if defined #%%a (set .%%a=%%b) else (set "#%%a=%%b !#%%a!")
  4. )
  5. rem set #
  6. rem set .
  7. for /f "delims=" %%i in ('more +32^<a.txt') do (
  8.    for %%j in (%%i) do (
  9.     if defined !#%%j! (echo.!.%%j!) else (echo.!#%%j!)
  10. )
  11. )
  12. pause
复制代码
随风的代码我看不懂
if "!.D%%j!"=="%%j" (set str=!str! !.%%j!) else (
         set str=!str! !#%%j!
为什么这里是比较环境变量和变量是否相等。
terse的代码也一样,都是比较这里看不懂

[ 本帖最后由 sgaizxt001 于 2010-6-11 22:47 编辑 ]
努力学习,努力挣分

变量名不区分大小写,变量的值却是分大小写的。
技术问题请到论坛发帖求助!

TOP

返回列表