返回列表 发帖
回复 13# terse


    是不是哪里写错拉,输出只有,=这两个符号

TOP

回复 12# DAIC


    哈哈,原来下载的sed是没有i选项的,我从论坛下载一个[new]sed-4.2.1-bin.zip,可以了,不好意思啊,谢谢了。

TOP

@echo off & setlocal enabledelayedexpansion
for /f "delims=" %%a in (1.txt) do (
set a=%%a
set a=!a:,= !
for %%b in (!a!) do (
echo %%b
)
)
pauseCOPY
你看这样行不行呢

TOP

回复 15# terse


    是的。为何使用这句会有85个的限制?

TOP

回复 18# 522235677


    空的,只有按任意键继续。DAIC的,sed和gawk不错,用第三方的也可以拉,

TOP

回复 18# 522235677


逗号本身也可以作为分隔符,那个字符串替换是多余的。
@echo off
for %%i in (192.168.1.1,192.168.1.12) do (
    echo %%i
)COPY
1

评分人数

TOP

回复 20# lky216


    在我这都可以,找找你自己的问题

TOP

回复 21# DAIC


    是哦,没想起,从来不用逗号来分割

TOP

回复 13# terse


    这里用
echo %str:,=^

%
为何不行?

TOP

回复 24# zhanglei1371
开启延迟变量  setlocal enabledelayedexpansion
echo !str:,=^
!COPY

TOP

回复 16# lky216
我这里测试可以的 确定 “,”和“,” 的区别

TOP

回复 24# zhanglei1371


    如果不开启变量延迟,有一种办法:
http://bathome.l3.wuyou.com/thread-20262-1-1.html

TOP

回复 27# apang


    谢谢,可否解释下含义,看了长时间没看明白

TOP

回复 28# zhanglei1371


    如果要从字串 ab 中间换行,分成两行显示,可以这样:
@echo off
echo,a^
b
pauseCOPY
如果把它用变量表示,就是这样:
@echo off
set NLM=^
echo,a^%NLM%%NLM%b
pauseCOPY
其中的 ^%NLM%%NLM% 代表的是换行,这是第一次转义。
如果再把^%NLM%%NLM%用一个变量表示,还需要再次转义,就成这样子了:
@echo off
set NLM=^
set NL=^^^%NLM%%NLM%^%NLM%%NLM%
echo,a%NL%b
pauseCOPY
1

评分人数

    • zhanglei1371: 虽然还是不太理解。还是感谢阿胖大师讲解! ...技术 + 1

TOP

这个系列语句好像可以在《for语句入门到精通》中找到

TOP

返回列表