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

第一套
1、批处理运行窗口显示1~100 这100 个数字;
  1. @echo off
  2. for /L %%i in (1,1,100) do echo %%i
  3. pause
复制代码
2、批处理运行窗口显示 1、3、5.....99这50个数字;
  1. @echo off
  2. for /L %%i in (1,2,99) do echo %%i
  3. pause
复制代码
3、将 bbs bathome.net (在同一行)分成三行显示在批处理运行窗口;
  1. @echo off
  2. for /f %%a in ("bbs bathome.net") do echo %%a
  3. for /f "tokens=2 delims=., " %%a in ("bbs bathome.net") do echo %%a
  4. for /f "tokens=3 delims=., " %%a in ("bbs bathome.net") do echo %%a
  5. pause>nul
复制代码
4、先将以下内容保存到F:\test.txt
1      2        3
4      5        6
7      8        9
①将f:\test.txt内容全部显示在批处理窗口;
②只显示 2      5        8显示在批处理窗口(分三行显示,每字一行)
  1. @echo off
  2. echo ①将f:\test.txt内容全部显示在批处理窗口
  3. for /f "tokens=*" %%i in (test.txt) do echo %%i
  4. echo ②只显示 2      5        8显示在批处理窗口(分三行显示,每字一行)
  5. for /f "tokens=2" %%i in (test.txt) do echo %%i
  6. pause>nul
复制代码
第二套
B1、分行显示李白的古诗《静夜思》:“床前明月光   疑是地上霜   举头望明月   低头思故乡”
  1. @echo off
  2. for /f "tokens=1 delims=《,》,:,“,”, " %%i in ("李白的古诗《静夜思》:“床前明月光   疑是地上霜   举头望明月   低头思故乡”") do echo %%i
  3. for /f "tokens=2 delims=《,》,:,“,”, " %%i in ("李白的古诗《静夜思》:“床前明月光   疑是地上霜   举头望明月   低头思故乡”") do echo %%i
  4. for /f "tokens=3 delims=《,》,:,“,”, " %%i in ("李白的古诗《静夜思》:“床前明月光   疑是地上霜   举头望明月   低头思故乡”") do echo %%i
  5. for /f "tokens=4 delims=《,》,:,“,”, " %%i in ("李白的古诗《静夜思》:“床前明月光   疑是地上霜   举头望明月   低头思故乡”") do echo %%i
  6. for /f "tokens=5 delims=《,》,:,“,”, " %%i in ("李白的古诗《静夜思》:“床前明月光   疑是地上霜   举头望明月   低头思故乡”") do echo %%i
  7. for /f "tokens=6 delims=《,》,:,“,”, " %%i in ("李白的古诗《静夜思》:“床前明月光   疑是地上霜   举头望明月   低头思故乡”") do echo %%i
  8. pause>nul
复制代码
B2、搜索系统盘(如C:\)下包含字符“mplayer”的所有文件(系统播放器),并分别显示路径名、文件名和后缀名。
  1. @echo off
  2. for /r c:\ %%i in ("*mplayer*") do echo %%i
  3. rem 我的C盘根本没有...,可以换成mp3
  4. pause>nul
复制代码
B3、显示递减数列:100、98、96、……、4、2、0,并求和。
  1. @echo off
  2. set sum=0
  3. for /l %%i in (100,-1,0) do (
  4. echo %%i
  5. set /a sum=sum+%%i
  6. )
  7. echo 总和为:
  8. echo %sum%
  9. pause>nul
复制代码
B4、从句子中提取“**大**”这个词:“穿了裙子,不等于说可以。”加拿大**的“如果不想被强奸,就不要把自己打扮得像**”言论引发了世界性的**。7月31日,继加拿大、美国、英国、澳大利亚、巴西、荷兰、韩国之后,印度新德里也举行了“**大**”。
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /l %%i in (1,1,16) do (
  4. echo %%i
  5. call :label1 %%i
  6. )
  7. pause>nul
  8. :label1
  9. for /f "tokens=%1 delims=。,、,,,“,”, " %%j in (test.txt) do echo;%%j & set str=%%j
  10. exit /b
复制代码
B5、由“ipconfig”命令获得网络配置信息,请提取 IP 地址“192.168.1.100”。也可将以下内容保存为文本进行。
  1. @echo off
  2. for /f "tokens=*" %%a in ('findstr /i /n /o "192.168.1.100" test.txt') do echo %%a
  3. pause>nul
复制代码
B6、提取指定行。系统播放器wmplayer目录中有一文本eula.txt(路径:C:\Program Files\Windows Media Player\eula.txt),其中有一段内容如下:
  1. @echo off
  2. set str="13. LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES. You can recover from Microsoft and its suppliers only direct damages up to U.S. $5.00. You cannot recover any other damages, including consequential, lost profits, special, indirect or incidental damages."
  3. for /f "tokens=*" %%a in ('findstr /i /n /o /c:%str% eula.txt') do echo %%a
  4. pause>nul
复制代码
B7、【选做】有一文本123.txt,内容如下:
复制代码

TOP

本帖最后由 wutarnow 于 2015-10-11 20:51 编辑

1、批处理运行窗口显示1~100 这100 个数字;
  1. for /l  %%I in (1,1,100) do echo %%I
复制代码
2、批处理运行窗口显示 1、3、5.....99这50个数字;
  1. for /l %%I in (1,2,99) do echo %%I
复制代码
3、将 bbs bathome.net (在同一行)分成三行显示在批处理运行窗口;
  1. for /l %%I in (1,1,3) do echo bbs bathome.net
复制代码
4、①将f:\test.txt内容全部显示在批处理窗口;
  1. @echo off
  2. type f:\test.txt
复制代码
②只显示 2      5        8显示在批处理窗口(分三行显示,每字一行)
  1. @echo off
  2. for /f "tokens=2" %%I in (f:\test.txt) do echo %%I
复制代码

TOP

b3
@echo off
setlocal enabledelayedexpansion
for /l %%i in (100,-2,0) do (
echo %%i&set /a a=!a!+%%i
)
echo 和是%a%
pause

TOP

第一套第四题
@echo off
for /f "tokens=*" %%i in (test.txt) do echo %%i
pause

@echo off
for /f "tokens=2" %%i in (test.txt) do echo %%i
pause

第二章
1
@echo off
for %%i in (窗前明月光 疑是地上霜 举头望明月 低头思故乡) do echo %%i
pause

TOP

第一章
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
set v=bbs bathome.net
for /f "tokens=1-3 delims=. " %%a in ("%v%") do (
echo %%a
echo %%b
echo %%c
)
pause

TOP

::第二套:B6

@echo off
set load="C:\Program Files\eula.txt"
for /f "tokens=* delims= " %%a in ('findstr /c:"13" %load%') do (
    echo %%a
)
pause

TOP

::第二套:B5

@echo off
for /f "tokens=2 delims=:" %%a in ('findstr /c:"IP Address" C:\Users\lenovo\Desktop\text.txt') do (
    echo %%a
)
pause

TOP

B5:
  1. @echo off
  2. for /f "skip=2 tokens=2 delims=:" %%i in ('find /i "ip" ipconfig.txt') do echo %%i
  3. pause
复制代码
化繁為簡,萬變其中!

TOP

1.
  1. for /l %%i in (1,1,100) do echo %%i
复制代码
2.
  1. for /l %%i in (1,2,99) do echo %%i
复制代码
3.
  1. for /f "tokens=1-3 delims=. " %%i in ("bbs bathome.net") do echo %%i&echo.%%j&echo.%%k
复制代码
4.①
  1. for /f "delims=" %%i in (test.txt) do echo %%i
复制代码
  1. for /f "tokens=2 delims= " %%i in (test.txt) do echo %%i
复制代码
化繁為簡,萬變其中!

TOP

B2解:
  1. @echo off
  2. for  /r %%i in (*mplayer*) do (
  3. echo %%~pi
  4. echo %%~ni
  5. echo %%~xi
  6. ) &pause
复制代码
幼苗可成大树,遮风雨

TOP

B1解题
  1. @echo off
  2. echo 床前明月光   疑是地上霜   举头望明月   低头思故乡>test.txt
  3. for /f  "tokens=1-3"  %%i in (test.txt) do echo.%%i&echo.%%j&echo.%%k
  4. pause
复制代码
用CALL
@echo off
call :1  床前明月光   疑是地上霜   举头望明月   低头思故乡
pause
:1
echo %1
echo %2
echo %3
echo %4
幼苗可成大树,遮风雨

TOP

本帖最后由 Bat_s 于 2015-1-25 15:23 编辑

第一题
  1. @echo off
  2. for /l %%i in (1,1,100) do set /p=%%i<nul
  3. pause
复制代码
第二题
  1. @echo off
  2. for /l %%i in (1,1,100) do set /p=%%i<nul
  3. echo.&pause
复制代码
第三题
  1. @echo off
  2. set a=bbs bathome.net
  3. for /f " tokens=1-3 delims=. " %%i in ("%a%") do echo %%i %%j %%k
  4. echo.&pause
复制代码
第四题
  1. @echo off
  2. pushd c:\
  3. echo 1 2 3 >test.txt
  4. echo 4 5 6 >>test.txt
  5. echo 7 8 9 >>test.txt
  6. for /f "delims=" %%i in (test.txt) do echo %%i
  7. for /f "tokens=2" %%i in (test.txt) do echo %%i
  8. pause
复制代码
幼苗可成大树,遮风雨

TOP

回复 2# awuxixi

for %%i in (bbs,bathome,net) do echo %%i
  1. @echo off
  2. for %%i in (bbs,bathome,net) do echo %%i
  3. pause
复制代码

TOP

B4题目代码如下
  1. @echo off
  2. for /f "delims=“” tokens=5" %%i in (test1.txt) do echo %%i
  3. pause
复制代码
上面代码可以正确提取出“**大**”,但是有个问题:分割的符号是“”,所以我可以认为是tokens=1时,提取出来的是内容为空;tokens=6时,提取出来的内容才是“**大**”。
但是实际使用tokens=6时结果是“。”,同样的tokens=1时结果是“穿了裙子,不等于说可以。”。
所以我大胆推测下:delims作用对象不包括开始的标点。如果开始即使标点符号,那么实际处理从第二个标点开始。不知道各位大虾怎么看这个问题?

TOP

本帖最后由 jian123ch 于 2014-10-20 22:52 编辑

第三题
  1. @echo off
  2. set stra="bbs bathome.net"
  3. for /f "tokens=1,2,3 delims=. " %%i in (%stra%) do echo %%i & echo %%j & echo .%%k
复制代码
第四题
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. @type test.txt
  4. echo.
  5. echo -----------------
  6. for /f "tokens=1-3" %%i in (test.txt) do set /a stra=%%j & echo !stra!
  7. pause >nul
复制代码
第B1题
  1. @echo off
  2. set stra="床前明月光   疑是地上霜   举头望明月   低头思故乡"
  3. echo 原文内容:
  4. echo %stra:"=%
  5. echo -------------------------------
  6. echo 分行显示:
  7. for /f "tokens=1-4" %%i in (%stra%) do echo %%i & echo %%j & echo %%k & echo %%l
  8. pause >nul
复制代码
第B2题
  1. @echo off
  2. for /r c:\ %%i in (*mplay*.*) do set /p=路径名:%%~pi 文件名:%%~ni 扩展名:%%~xi<nul & echo.
  3. pause >nul
复制代码
第B3题
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. echo 数列中的各元素为:
  4. for /l %%i in (100,-2,0) do (
  5.   set /p=%%i <nul
  6.   set /a stra=!stra!+%%i
  7. )
  8. echo.
  9. echo ------------------------------------------------
  10. echo 数列中的各元素和:
  11. echo !stra!
  12. pause >nul
复制代码
第B4题
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set stra="“穿了裙子,不等于说可以。”加拿大**的“如果不想被强奸,就不要把自己打扮得像**”言论引发了世界性的**。7月31日,继
  4. 加拿大、美国、英国、澳大利亚、巴西、荷兰、韩国之后,印度新德里也举行了“**大**”。"
  5. for /f "tokens=3 delims=。" %%i in (%stra%) do (
  6.   set strb=%%i && set strb=!strb:“=! && set strb=!strb:”=! && set strb=!strb:~-8! && echo !strb!
  7. )
  8. pause >nul
复制代码
第B5题
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /p=本机的IP地址为:<nul
  4. for /f "tokens=1,2 delims=:" %%i in ('ipconfig') do (
  5.   set stra=%%i && set stra=!stra:. =! && set stra=!stra: =! && set strb=!stra:~0,2!
  6.   if !strb! equ IP echo %%j
  7. )
  8. pause >nul
复制代码

TOP

返回列表