返回列表 发帖
本帖最后由 ytfbuaa 于 2017-1-20 10:23 编辑

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

TOP

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

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

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:
@echo off
for /f "skip=2 tokens=2 delims=:" %%i in ('find /i "ip" ipconfig.txt') do echo %%i
pauseCOPY
化繁為簡,萬變其中!

TOP

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

TOP

B2解:
@echo off
for  /r %%i in (*mplayer*) do (
echo %%~pi
echo %%~ni
echo %%~xi
) &pauseCOPY
幼苗可成大树,遮风雨

TOP

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

TOP

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

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

TOP

回复 2# awuxixi

for %%i in (bbs,bathome,net) do echo %%i
@echo off
for %%i in (bbs,bathome,net) do echo %%i
pauseCOPY

TOP

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

TOP

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

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

TOP

返回列表