刚刚做了一下试验,发现set出现问题了
a.txt的内容
1234
1234
dsf
fd
d
a
asd
这是我的代码,就是想替换a.txt中的所有d为m,并且保留空行
setlocal enabledelayedexpansion
for /f "tokens=*" %%a in ('findstr /n .* a.txt') do (
set str=%%a
set str=!str:*:=!
set str=!str:d=m!
echo.!str!
)
pause
我深知这代码输出的内容应该是:
1234
1234
msf
fm
m
a
asm
但是我的却显示
1234
1234
d=m
msf
fm
m
a
d=m
asm
T.T 哪里出毛病了啊?~ 高人指教! 以前也曾遇到过一回for截取字符串不正确的情况,重装系统之后好了,这回不会还要重装系统吧
原因看2楼和4楼~~
───────────────── 版务记录 ─────────────────
执行:HAT
操作:[2008-11-08]在帖子标题中增加搜索关键字
说明:原标题"[已结]不要犯同样的错误,关于set赋值"不利于论坛搜索
───────────────── 版务记录 ─────────────────
[
Last edited by HAT on 2008-11-9 at 00:10 ]