返回列表 发帖
第四题正确答案
@echo off
for /f "tokens=2,5,8 " %%a in (tt.txt) do echo %%a %%b %%c
pauseCOPY

TOP

B1 答案
@echo off
for /f "tokens=1 delims=。" %%a in (ss.txt) do echo %%a
for /f "tokens=2 delims=。" %%b in (ss.txt) do echo %%b
pauseCOPY
是以一个句号为一句的显示,想分成四段来着,暂时没搞定

TOP

B2 答案
@echo off
for /r c:\ %%a in (*myplayer) do echo %%a
pauseCOPY

TOP

我来做一下第二套 B3题:
@echo off
setlocal enabledelayedexpansion
set var=
for /l %%i in (100 -2 0) do (
set a=%%i
echo !a!
set a=+!a!
set var=!var!!a!
set var=!var: =!
)
set /a b=0+!var!
echo 数值之和是:!b!
pause COPY

TOP

B3 答案
@echo off
for /l %%a in (100,-2,0) do set /a sum+=%%a
echo %sum%
pauseCOPY

TOP

B4 答案
@echo off
for /f "tokens=5 delims=“” " %%a in (yy.txt) do echo %%a
pauseCOPY
通过这个例子才明白,delims就是根据某个分隔符把某行分成几段,然后,根据某段来进行提取。很好的例子

TOP

本帖最后由 cjiabing 于 2011-8-18 12:42 编辑

回复 250# kevinak

B1题:
    鼓励一下,至少你已经成功了一半。
    懂得“输出变量”吗?再仔细阅读帮助信息,稍微改动一下你就可以完成了。
    其实,用一个FOR就可以完成了。
B2题:
    注意,还有显示文件名、路径名、和后缀名。
B3题:
    很好。
B4题:
    很好。
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

回复 252# 545810831


    请向楼下学习一下。虽然你很辛苦地写出来了,不过还需要加强。
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

B5 答案
@echo off
setlocal enabledelayedexpansion
for /f "skip=2 tokens=2 delims=:" %%a in (ip.txt) do (
set /a n+=1
if !n!==1 set a=%%a
)
echo %a%
pause>>nulCOPY
这个写完我自己也有点晕。不过,现在有些明白了。
1

评分人数

    • cjiabing: 勤奋学习,孜孜不倦!~PB + 6

TOP

B6 答案
@echo off
for /f "usebackq tokens=*" %%a in ("%programfiles%\Windows Media
Player\eula.txt") do echo %%a
pause>>nulCOPY

TOP

回复 257# kevinak
额,谢谢提出的建议。我再研究研究

TOP

第六题理解错误。重来...

TOP

B1 答案
@echo off
setlocal enabledelayedexpansion
for /f "tokens=1,2,3,4 delims=,。" %%a in (ss.txt) do (
set a=%%a
set b=%%b
set c=%%c
set d=%%d
)
echo %a%
echo %b%
echo %c%
echo %d%
pause >nulCOPY
这个代码是把"床前明月光,疑是地上霜。举头望明月,低头思故乡。"分成四段来显示的。
还有,谢谢版主的提示。不知道这样写会不会显得臃肿或者复杂,额,能力有限哈..

TOP

本帖最后由 cjiabing 于 2011-8-22 16:10 编辑

回复 261# kevinak


    你还是没有弄清楚什么是输出变量呢。直接在cmd窗口执行:
for /f "tokens=1,2,3,4 delims=,。" %a in ("床前明月光,疑是地上霜。举头望明
月,低头思故乡。") do echo %a&echo %b&echo %c&echo %dCOPY

如果不考虑标点符号可以更加简单:
for  %a in (床前明月光 疑是地上霜 举头望明月 低头思故乡) do echo %aCOPY

这是我出题的初衷,但忘记有标点符号了。你们随意做了。将标点符号改成英文的也可以:
for  %a in (床前明月光,疑是地上霜,举头望明月,低头思故乡.) do echo %aCOPY
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

B2 答案
@echo off
for /r c:\ %%a in (*mplayer) do echo %%~pnxa
pause >nulCOPY
这是在别处摘抄的:
%%~pi 将%i扩充到一个路径
%%~ni 将%i扩充到一个文件名
%%~xi 将%i扩充到一个文件扩展名
可以组合..

TOP

返回列表