返回列表 发帖
小菜也来贴下代码:
A1:
@echo off
set str=I love,bbs;bathome.net
for %%i in (%str:.= %) do echo %%i
pause>NulCOPY
另外带/f开关的
@echo off
set str=I love,bbs;bathome.net
for /f "tokens=1-5 delims=,;. " %%a in ("%str%") do echo %%a %%b %%c %%d %%e
rem 如果不加tokens=1-5,则默认输出第一列.
pauseCOPY
===============================================================
A2:
@echo off
set str=I love,bbs;bathome.net
for %%i in (%str:*.= %) do echo %%i
pause>NulCOPY
1

评分人数

http://www.bathome.net/s/tool/index.html

TOP

这个教程非常好,感谢楼主

TOP

嗯,至今没搞清楚cn是什么意思,所给字符串set str=I love,bbs;bathome.net并无此字符串(初学,请指教!)

TOP

看了你给的答案,我菜明白,你所说的显示cn是说显示str=I love,bbs;bathome.net字符串中的bathome.net呀!是么?
如果是这样,你看下面的代码能不能符合A2题目的要求:
@echo off
set str=I love,bbs;bathome.net
for %%i in (%str%) do (cls&echo %%i)
pause>nul

TOP

A1:
@echo off
set str=I love,bbs;bathome.net
for %%a in (%str%) do (goto main)
:main
set str1=%str:~0,1%
set str2=%str:~2,4%
set str3=%str:~7,3%
set str4=%str:~11,7%
set str5=%str:~19,3%
echo %str1% %str2% %str3% %str4% %str5%
pauseCOPY
A2:
@echo off
set str=I love,bbs;bathome.net
for %%a in (%str%) do (goto main)
:main
set str1=%str:~19,3%
echo %str1%
pauseCOPY
无所谓而无所为 无所谓而无所不为

TOP

回复 12# akiraakito


    结果不正确呀,因为“.”不是分隔符,怎么可能出来单独存在的net呢?
学习批处理,从set开始

TOP

A1:
@echo off
set a=I love,bbs;bathome. net
for %%I in (%a%) do echo %%I
pause COPY
A2:
@echo off
set a=I love,bbs;bathome. net
for %%I in (%a%) do (set a=%%I)
echo %a%
pauseCOPY
学习批处理,从set开始

TOP

这样应该更严谨一些:
A1
@echo off
set a=I love,bbs;bathome.net
set v=%a:.= %
for %%I in (%V%) do echo %%I
pause COPY
A2
@echo off
set a=I love,bbs;bathome.net
set v=%a:.= %
for %%I in (%v%) do (set s=%%I)
echo %s%
pauseCOPY
学习批处理,从set开始

TOP

回复 52# wxlh2002

@echo off
set str=1 2 3
for %%i in (%str%) do echo test>%%i.txt
pause

TOP

回复 2# jellyhk


    A1:
@echo off
set str= I love,bbs;bathome.net
for /f "tokens=1-5 delims=,;. "  %%a in ("%str%") do echo %%a %%b %%c %%d %%e
@pause>nul

A2:
@echo off
set str= I love,bbs;bathome.net
for /f "tokens=5 delims=,;. "  %%a in ("%str%") do echo %%a
@pause>nul

TOP

A2
@echo off
set str=I love,bbs;bathome.net
for %%i in (%str%) do set a=%%i
echo %a%
pause

这样做的话,最后显示的是bathome.net,是因为“.”没有分隔符的作用吗?那应该怎么才能符合要求的显示net呢?

TOP

用for语句建立test1.txt、test2.txt和test3.txt三个文本文件
@echo off
for %%a in (text1,text2,text3) do echo %%a>%%a.txt
pause

TOP

看到回复的贴几乎都是代码,我只能慢慢学习了

TOP

A1
@echo off
set str=I LOVE,bbs;bathome.net,
set a=%str:.=,%
for %%i in (%a%)do echo %%iCOPY
A2
@echo off
set str=I LOVE,bbs;bathome.net,
set a=%str:.=,%
for %%i in (%a%)do set b=%%i
echo %b%COPY
呜呜 才知道变量可以这样用。。
打酱油~~~~

TOP

我觉得你既然贴上来code就要自己测试一下可行性,否则是不是要误人子弟呢。

TOP

返回列表