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

[文本处理] [已解决]原样输出含特殊字符的批处理中这个字符串替换是什么意思

这是原代码:
最大限度原样输出含特殊字符的指定行内容(转自中国DOS联盟)
@echo off
cd.>output.txt
for /f "delims=" %%i in ('findstr /n .* test.txt') do (
set "var=%%i"
setlocal enabledelayedexpansion
set var=!var:*:=!
(echo.!var!)>>output.txt
endlocal
)
start output.txt

看了之后感觉不懂。关建是set var=!var:*:=!这句感觉莫明其妙,具体运行原理是什么样的?请大大指点。

[ 本帖最后由 couth 于 2009-8-19 15:40 编辑 ]
1

评分人数

    • keen: 感谢主动给标题标注[已解决]字样PB + 2

请学会看帮助:
set /?
...
环境变量替换已如下增强:

%PATH:str1=str2%

会扩展 PATH 环境变量,用 "str2" 代替扩展结果中的每个 "str1"。
要有效地从扩展结果中删除所有的 "str1","str2" 可以是空的。
"str1" 可以以星号打头;在这种情况下,"str1" 会从扩展结果的
开始到 str1 剩余部分第一次出现的地方,都一直保持相配。
...

论坛更是有详细教程。
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

谢谢版主了。明白了。

TOP

返回列表