[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
A1:
@echo off
set str=I love,bbs;bathome=net
for %%a in (%str%) do echo %%a
pause >nul

a2:
@echo off
set str= I love,bbs;bathome=net
for  %%a in (%str%) do cls&echo %%a
pause>nul

TOP

回复 218# zhksun


    豁然开朗。。我说怎么前边A1题的答案明显不对,版主还要加分。
我也只做出来第一个,用了set替换字符。第二题没想出来,,脑子有点短路。。。

总结了一下,如果按现在的题目字面要求的话:
A1题方案
set替换“.”  (点号不是默认分隔符)
  1. for %%i in (%str:.=,%) do echo %%i
复制代码
if判断
  1. for %%i in (%str%) do (
  2. if %%i==bathome.net (echo bathome & echo net) else echo %%i
  3. )
复制代码
A2题方案:
cls清屏
  1. for %%i in (%str%) do cls&echo %%i
复制代码
赋值给变量
  1. for %%i in (%str%) do (set a=%%i)
  2. echo %a%
复制代码
if判断
  1. for %%i in (%str%) do (
  2. if %%i==bathome.net echo net
  3. )
复制代码

TOP

回复 216# zl20083013


   我去,学习了

TOP

路过看看!!!!!

TOP

A1
@echo off
set str=I love,bbs;bathoe.net
set str=%str:.=,%
for %%i in (%str%) do echo %%i
pause

A2
@echo off
set str=I love,bbs;bathoe.net
::set str=%str:~-3,3%
set str=%str:.=,%
for %%i in (%str%) do (if %%i==net echo %%i)
pause

TOP

回复 218# zhksun


    就是就是,前面的跟帖没人说分不开的,我试了一次又一次,还是分不开,只好一页一页的翻贴,才发现原来答案在这里

TOP

A1:
  1. @echo off
  2. set str=I love,bbs,bathome.net
  3. set str=%str:.= %
  4. for %%I in (%str%) do echo %%I
  5. pause
复制代码
A2模仿12楼的)
  1. @echo off
  2. set str=I love,bbs;bathome.net
  3. set str=%str:.= %
  4. for %%I in (%str%) do (set a=%%I)
  5. echo %a%
  6. pause
复制代码

TOP

看了很多贴,自己也写运行了,很多网友疑惑“bathhome.net”是不可分隔的;
实际顶楼给出的应是str=I love,bbs;bathhome=cn,可能由于网站更新导致str=I love,bbs;bathhome.net;
希望能解除部分网友疑惑!
1

评分人数

    • CrLf: 感谢反馈!技术 + 1

TOP

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

TOP

A1
  1. @echo off
  2. set str=I LOVE,bbs;bathome.net,
  3. set a=%str:.=,%
  4. for %%i in (%a%)do echo %%i
复制代码
A2
  1. @echo off
  2. set str=I LOVE,bbs;bathome.net,
  3. set a=%str:.=,%
  4. for %%i in (%a%)do set b=%%i
  5. echo %b%
复制代码
呜呜 才知道变量可以这样用。。
打酱油~~~~

TOP

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

TOP

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

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

回复 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

回复 52# wxlh2002

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

TOP

返回列表