[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

A2题答案

code
(
@echo off&setlocal enabledelayedexpansion
set str=I love,bbs;bathome.net
set k=0
for %%x in (%str%) do (set z=%%x&&set a=!z:.= !&&for %%b in (!a!) do (set /a k+=1&&if !k! equ 5 echo %%b))
pause>nul
)
输出:
net
如题要输出cn,只要把上面代码"echo %%b"改成"echo cn"

TOP

A1题答案,自认为,处理得比较好

@echo off&setlocal enabledelayedexpansion
set str=I love,bbs;bathome.net
for %%x in (%str%) do (set z=%%x&&set a=!z:.= !&&for %%b in (!a!) do echo %%b)
pause>nul

输出:
I
love
bbs
bathome
net
不知,楼主是否题目有问题,那来的cn,如是要有cn ,只能加个IF语句了

TOP

玩的不是批处理玩的是寂寞呐

TOP

setlocal enabledelayedexpansion  的作用域到哪啊?

TOP

回复 1楼 的帖子

  A1:假设令 set str=I love,bbs;bathome.net,请分别显示出I、love、bbs、bathome和cn这五个字符串。目的:了解for语句用到了哪些符号作为元素的分隔符。
   for /f "delims= ,;." %i  in ('call %%str%%') do @echo %i

  A2:条件同A1,要求最后只显示cn这个字符串。目的:了解for语句的执行流程。
    for /f "delims= ,;. tokens=*" %i  in ('call %%str%%') do @echo %i

TOP

  1. @echo off
  2. set str=I love,bbs;bathome.net
  3. set str=%str:.net= cn%
  4. for %%i in (%str%) do echo %%i
  5. pause
复制代码
  1. @echo off & setlocal enabledelayedexpansion
  2. set str=I love,bbs;bathome.net
  3. set /a i=0
  4. set str=%str:.net= cn%
  5. for %%i in (%str%) do (
  6. set /a i+=1
  7. if !i!==5 echo %%i
  8. )
  9. pause
复制代码

TOP

我是新来的,刚开始学批处理。

TOP

第二题这样算么?

第二题这样算么?
@echo off
set str= I love,bbs;bathome.net
for  %%i in (%str%) do set a=%%i
cls
echo %a%
pause>nul

TOP

```

@echo
for %%I in (I love bbs bathome.net) do %%I
pause

TOP

回复 1楼 的帖子

@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

TOP

1.
  1. @echo off
  2. set str=I love,bbs;bathome.net
  3. for %%i in (%str%) do echo %%i
  4. pause
复制代码
2.
  1. @echo off
  2. set str=I love,bbs;bathome.net
  3. for %%i in (%str%) do (if %%i=cn echo %%i)
  4. pause
复制代码
扬鞭策马自奋蹄!

TOP

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

::A2 单纯的for加if条件判断语句
for %%a in (%str%) do (if %%a==cn echo %%a)
pause>nul



::for 加"/f" 和"delims tokens"的用法
for /f "delims== tokens=2" %%a in ("%str%") do echo %%a

TOP

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

A2:
@echo off
set str=I love,bbs;bathome.net
for %%i in (%str%) do echo %%i >1.txt
type 1.txt
del 1.txt
pause>nul

TOP

  1. @echo off
  2. set str=l love,bbs;bathome.net
  3. for %%i in (%str%) do echo %%i
  4. pause>nul
复制代码

TOP

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

[ 本帖最后由 bjjgq 于 2009-12-2 15:32 编辑 ]

TOP

返回列表