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

批处理for命令应用入门与进阶训练(2011年8月3日更新)

[复制链接]
发表于 2009-3-27 16:23:38 | 显示全部楼层
关注了。
第3个:
echo off
set var="bbs bathome.net"
for /f "tokens=1,2,3" %%i in (%var%) do (
        echo %%i
        echo %%j
        echo %%k
)
这样可以,但是如果set var="bbs bathome.net"不加引号,有问题。
发表于 2009-3-27 21:00:48 | 显示全部楼层
第一题:
  1. @echo off
  2. for /l %%i in (1,1,100) do echo %%i
  3. pause
复制代码
第二题:
  1. @echo off
  2. for /l %%i in (1,2,99) do echo %%i
  3. pause
复制代码
第三题:
  1. @echo off
  2. set str=bbs bathome.net
  3. set count=1
  4. :begin
  5. for /f "tokens=%count% delims= " %%i in ("%str%") do (echo %%i&&set /a count+=1&&goto begin)
  6. pause
复制代码
第四题:
1.
  1. @echo off
  2. type test.txt
  3. pause>nul
复制代码
2.
  1. @echo off
  2. for /f "tokens=2 delims= " %%i in (test.txt) do echo %%i
  3. pause
复制代码
发表于 2009-4-4 12:15:03 | 显示全部楼层
  1. @echo off
  2. for /f "delims=&" %%i in (test.txt) do echo %%i
  3. pause
复制代码
将分隔符换成txt文件中不存在的符号,能显示全部

[ 本帖最后由 lygwdyanzi 于 2009-4-4 12:17 编辑 ]
发表于 2009-4-13 14:05:01 | 显示全部楼层

回复 4楼 的帖子

两个问题:
1.for 语句中%var%是否需要加引号啊?不加好像不行?
2.即使加了引号,打印出来的也不是3行,而是3列!
谢谢!
发表于 2009-4-18 22:18:14 | 显示全部楼层

我的答案

@echo off
for /f "tokens=1-3 delims= " %%i in (c:\test.txt) do echo %%i        %%j        %%k
pause
for /f "tokens=2 delims= " %%i in (c:\test.txt) do echo         %%i
pause
发表于 2009-4-18 23:59:30 | 显示全部楼层

回复 95楼 的帖子

原文有笔误,作者已更正,请重新测试。
发表于 2009-4-20 10:03:46 | 显示全部楼层

我的答案

@echo 1、批处理运行窗口显示1~100 这100 个数字
@echo off
for /l %%i in (1,1,100) do echo %%i
pause
@echo 2、批处理运行窗口显示 1、3、5.....99这50个数字
for /l %%i in (1,2,99) do echo %%i
pause
@echo 3.1、将 bbs bathome.net 在同一行显示在批处理运行窗口
for /f "tokens=1-3" %%i in ("bbs bathome.net") do echo %%i %%j %%k
pause
@echo 3.2、将 bbs bathome.net 分成三行显示在批处理运行窗口
for /f "tokens=1-3" %%i in ("bbs bathome.net") do echo. %%i & echo. %%j & echo. %%k
pause
@echo 4.1、将f:\test.txt内容全部显示在批处理窗口
for /f "delims=" %%i in (f:\test.txt) do echo %%i
pause
@echo 4.2只显示 2      5        8显示在批处理窗口(分三行显示,每字一行)
for /f "tokens=2" %%i in (f:\test.txt) do echo %%i
pause

[ 本帖最后由 czq19731102 于 2009-4-20 10:08 编辑 ]
发表于 2009-4-20 12:23:50 | 显示全部楼层

第三题

第三题

@echo off
for %%i in (bbs bathome.net) do echo %%i
pause
发表于 2009-4-27 17:07:07 | 显示全部楼层
@echo off
for /l %%a in (1,1,100) do echo %%a
pause
发表于 2009-4-27 18:09:08 | 显示全部楼层
4.1
@echo off
for /f "delims=," %%i in (c:\0.txt) do echo %%i
pause
发表于 2009-5-3 15:24:09 | 显示全部楼层
还是不太明白哇,有具体的教程么?
发表于 2009-5-3 19:45:24 | 显示全部楼层

回复 102楼 的帖子

发表于 2009-5-7 17:55:43 | 显示全部楼层

看的见的1 ~100

@  echo off
  for /L %%i in (1,1,100) do echo %%i
ping 127.0.0.1 /n 3 >nul

[ 本帖最后由 xmaoh234 于 2009-5-7 18:01 编辑 ]
发表于 2009-5-10 14:29:26 | 显示全部楼层
1、
@echo off
for /l %%i in (1,1,100) do echo %%i
pause
2、
@echo off
for /l %%i in (1,2,99) do echo %%i
pause
3、
@echo off
for %%i in (bbs bathome.net) do echo %%i
pause
4、
@echo off
type test.txt
for /f "tokens=2  delims= " %%i in (test.txt) do echo %%i
pause
发表于 2009-5-11 13:04:34 | 显示全部楼层
第3题
@echo off
echo bbs>i.txt
echo bathome>>i.txt
echo cn >>i.txt
color 0a
for /f %%i in (i.txt) do echo %%i
pause
看到上面没有这种方法
不知道可以不,我是个新手

评分

参与人数 1PB +1 收起 理由
wxcute + 1 审题有误。题目要求是bbs bathome cn要在同 ...

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 00:04 , Processed in 0.023850 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表