[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
 A1:假设令 set str=I love,bbs;bathome.net,请分别显示出I、love、bbs、bathome和cn这五个字符串。目的:了解for语句用到了哪些符号作为元素的分隔符。

  A2:条件同A1,要求最后只显示cn这个字符串。目的:了解for语句的执行流程。

第一题:
@echo off
set str=I love,bbs;bathome.net
for %%i in ("%str%") do set  a=%i:I%
echo %a%
for %%i in ("%str%") do set  b=%str:~2,4%
echo %b%
for %%i in ("%str%") do set  c=%i:bbs%
echo %c%
for %%i in ("%str%") do set  d=%i:bathome%
echo %d%
for %%i in ("%str%") do set  e=%str:~-2%

echo %e%

pause

set str=I love,bbs;bathome.net
for /f "todens=1,2,3,4,5 delims=,;= " %%i in ("%str%") do (
echo %%i
echo %%j
echo %%k
echo %%l
echo %%m
)
pause


第二种解法:

set str=I love,bbs;bathome.net
for /f "delims= " %%i in ("%str%") do echo %%i
for /f "tokens=1 delims=," %%i in ("%str%") do for /f "tokens=2 delims= " %%j in ("%%i") do echo %%j
for /f "tokens=2 delims=," %%i in ("%str%") do for /f "delims=;" %%j in ("%%i") do echo %%j
for /f "tokens=2 delims=;" %%i in ("%str%") do for /f "tokens=1 delims==" %%j in ("%%i") do echo %%j
for /f "tokens=2 delims==" %%i in ("%str%") do echo %%i
pause
1

评分人数

    • wxcute: 复杂了,认识一下默认分隔符,还有灵活运用 ...PB + 1

TOP

for /f "tokens=1,2,3,4,5 delims=,;= " %%a in ("I love,bbs;bathome.net") do (
    echo %%a & echo %%b & echo %%c & echo %%d & echo %%e

TOP

不好意思,我测试后可能粘贴的时候贴少
新手,多多指教

TOP

返回列表