[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
B2题
  1. @echo
  2. for /r c:/ %%i in (*mplayer*.*) do echo %%i
  3. pause
复制代码

TOP

回复 272# aber02zzl
为了帮你评阅特意重新阅读了题目,有两个小问题需要指出!~

答案2命令写错了。
for /l %%a in (1 2 100) de echo %%a

答案3
for /f "tokens=1-3 delims=. " %%a in ("bbs bathome.net") do echo %%a&echo %%b&echo %%c
存在问题:
第一是处理字符串要用双引号;第二是输出变量要与tokens指定的数目一致,你指定了 1-3 个输出变量,那后面就要用 1-3 个输出变量。
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

回复 277# andy七少

for /f "tokens=1,2,3,4"  %%a   in (test.txt) do (

    注意命令书写规范!~另外,tokens=1-4 会显得更加减缩。
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

回复 284# 几维kiwi

——::搜索系统盘(如C:\)下包含字符“mplayer”的所有文件(系统播放器),并分别显示路径名、文件名和后缀名。
    for /r c:\ %%i in (*mplayer*) do echo %%i  %%~ni   %%~xi
——要善于利用扩充变量:
     %~pI        - 仅将 %I 扩充到一个路径
     %~nI        - 仅将 %I 扩充到一个文件名
     %~xI        - 仅将 %I 扩充到一个文件扩展名
     ……
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

回复 285# 几维kiwi

    注意审题:::显示递减数列:100、98、96、……、4、2、0,并求和。
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

  1. @echo off
  2. ::1、批处理运行窗口显示1~100 这100 个数字;
  3. for /l %%i in (1,1,100) do echo %%i
  4. ::2、批处理运行窗口显示 1、3、5.....99这50个数字;
  5. for /l %%i in (1,2,100) do echo %%i
  6. ::3、将 bbs bathome.net (在同一行)分成三行显示在批处理运行窗口;
  7. set str="bbs bathome.net"
  8. for /f %%i in (%str%) do echo %%i
  9. for /f "tokens=2" %%i in (%str%) do (
  10. set tmp="%%i"
  11. for /f "delims=. tokens=1,2" %%a in (%tmp%) do echo %%a&echo %%b
  12. )
  13. ::4、先将以下内容保存到F:\test.txt
  14. :: 1      2        3
  15. :: 4      5        6
  16. :: 7      8        9
  17. ::①将f:\test.txt内容全部显示在批处理窗口;
  18. ::②只显示 2      5        8显示在批处理窗口(分三行显示,每字一行)
  19. set "L1=1      2        3"
  20. set "L2=4      5        6"
  21. set "L3=7      8        9"
  22. set "txtFile=E:\test.txt"
  23. echo %L1% > %txtFile%
  24. echo %L2% >> %txtFile%
  25. echo %L3% >> %txtFile%
  26. for /f "tokens=*" %%i in (%txtFile%) do echo %%i
  27. for /f "tokens=2" %%i in (%txtFile%) do echo %%i
  28. pause
  29. exit /b 0
复制代码

TOP

终于把第三题写成是三行了
  1. @echo off
  2. set str=bbs bathome.net
  3. set str1=%str:.= %
  4. for  %%i in (%str1%) do echo %%i  
  5. pause>nul
复制代码

TOP

第三题
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set var=bbs bathome.net
  4. echo %var%
  5. for /f "tokens=1,2" %%a in ("%var%") do (echo %%a
  6. for /f "delims=. tokens=1,2" %%c in ("%%b") do (echo %%c
  7. echo %%d
  8. )
  9. )
  10. pause
复制代码

TOP

本帖最后由 zh_1452 于 2014-6-22 16:10 编辑
  1. @echo off
  2. type nul>e:\test.txt
  3. set /p str=123456789>e:\test.txt
  4. for %%i in (123.456.789) do echo %%i
  5. pause
  6. @echo off
  7. for %%i in (123,456,789) do echo %%i
  8. pause
  9. @echo off
  10. type nul>test.txt
  11. set /p str=258>e:\test.txt
  12. for %%i in (2,5,8) do echo %%i
  13. pause
  14. @echo off
  15. type nul>e:\test.txt
  16. set /p str=床前明月光,疑是地上霜,举头望明月,低头思故乡>e:\test.txt
  17. for %%i in (床前明月光,疑是地上霜,举头望明月,低头思故乡) do echo %%i
  18. pause
  19. @echo off
  20. cd..\..
  21. cd /d c:\.&attrib *.txt
  22. find /i "mplayer" c:\windows\system32\*.txt
  23. pause
  24. @echo off
  25. type nul>123.txt
  26. set /p str=3,4,5,6,7,9,9,9,10,10,>c:\program files\123.txt
  27. for %%i in (3,4,5,6,7,9,9,9,10,10,) do echo %%i
  28. pause
  29. @echo off
  30. set /p var=顺子
  31. set /p str=3,4,5,6,
  32. if defined str (echo 变量str已经被赋值,其值为%str%) else (echo 变量str的值为3,4,5,6,)
  33. if defined var (echo 变量var已经被赋值,其值为%var%) else (echo 变量var的值为顺子)
  34. pause
  35. @echo off
  36. set /p var=三带二
  37. set /p str=9,9,9,10,10,
  38. if defined str (echo 变量str已经被赋值,其值为%str%) else (echo 变量str的值为9,9,9,10,10,)
  39. if defined var (echo 变量var已经被赋值,其值为%var%) else (echo 变量var的值为三带二)
  40. pause
复制代码




附件: 您需要登录才可以下载或查看附件。没有帐号?注册

TOP

第一套
  1. Rem 1.
  2. @Echo off
  3. For /l %%i in (1 1 100) Do Echo %%i
  4. Pause>nul
  5. Rem 2.
  6. For /l %%i In (1 2 99) Do Echo %%i
  7. Pause>nul
  8. Rem 3.
  9. Set var=bbs bathome.net
  10. For %%i In (%var:.= %) Do Echo %%i
  11. Pause>nul
  12. Rem 4.
  13. (
  14. Echo 1      2        3
  15. Echo 4      5        6
  16. Echo 7      8        9
  17. )>>F:\test.txt
  18. Type F:\test.txt
  19. For /f "tokens=2" %%i In (F:\test.txt) Do Echo %%i
  20. Pause>nul
复制代码

TOP

第二套
B1
  1. @For %%i In (床前明月光   疑是地上霜   举头望明月   低头思故乡) Do @Echo %%i
复制代码
B2
  1. @Echo off
  2. For /R C:\ %%i In (*mplayer*.*) Do (
  3. Echo %%~fi
  4. Echo %%~ni %%~xi
  5. )
  6. Pause>nul
复制代码
B3
  1. @Echo off
  2. For /l %%i in (100 -2 0) Do (
  3. Echo %%i
  4. Set /a Num+=%%i
  5. )
  6. Echo %Num%
  7. Pause>nul
复制代码
B4
  1. @Echo off
  2. Set Str=“穿了裙子,不等于说可以。”加拿大**的“如果不想被强奸,就不要把自己打扮得像**”言论引发了世界性的**。7月31日,继加拿大、美国、英国、澳大利亚、巴西、荷兰、韩国之后,印度新德里也举行了“**大**”。
  3. For /F "delims=“,” tokens=5" %%i In ("%Str%") Do Echo %%i
  4. Pause>nul
复制代码
B5
  1. @Echo off
  2. For /F "Skip=7 Delims=: Tokens=2" %%i In ('ipconfig') Do (
  3. Echo%%i
  4. Pause>nul
  5. )
复制代码

TOP

@echo off
Rem:        、将 bbs bathome.net (在同一行)分成三行显示在批处理运行窗口;
setlocal enabledelayedexpansion
for %%i in (bbs bathome.net) do (
set str=%%i && for /f "delims=. tokens=1,2" %%j in ("!str!") do echo %%j
)
pause
为什么最后显示是
bbs
bathome
待我出山之时,定让土匪大名满世界

TOP

  1. @echo off
  2. Rem: 、将 bbs bathome.net (在同一行)分成三行显示在批处理运行窗口;
  3. setlocal enabledelayedexpansion
  4. for %%i in (bbs bathome.net) do (
  5. set str=%%i && for /f "delims=. tokens=1,2" %%j in ("!str!") do echo %%j
  6. )
  7. pause
复制代码
为什么最后显示是
bbs
bathome
而没有.net
待我出山之时,定让土匪大名满世界

TOP

回复 301# deng1d2l


    但最后那个.呢?
待我出山之时,定让土匪大名满世界

TOP

回复 301# deng1d2l


    我懂了,上午犯二了
待我出山之时,定让土匪大名满世界

TOP

返回列表