最近在学习一段代码,红色标记的是我没看懂的,有谁能解释下吗 ?
【功能】
读取文本numbers.txt的前三行
【代码】
@echo off & setlocal ENABLEEXTENSIONS
set "lines=3"
set i=-1
set "ok="
for /f "delims=" %%a in ('more ^< numbers.txt') do (
set/a i+=1 & for /f %%z in ('echo/%%i%%') do (
if "%%z"=="%lines%" set ok=1
)
if not defined ok echo/%%a
)
pause作者: samliu 时间: 2009-2-6 00:05 我也想知道
帮你顶起来作者: zhengqian529 时间: 2009-2-6 11:32 这个命令里面:echo/%%i%%可以这么来理解
首先echo/是为了输出一个空行
%%i%% 里面的%%表示原意输出%
那么 这句其实是执行 echo/%i%
如果你想原意输出 %,那么就使用两个%(%%)作者: everest79 时间: 2009-2-6 17:13 @echo off & setlocal ENABLEEXTENSIONS
set "lines=3"
set i=-1
set "ok="
for /f "delims=" %%a in ('more ^< numbers.txt') do (
set/a i+=1 & for /f %%z in ('echo/%%i%%') do (
if "%%z"=="%lines%" set ok=1
)
if not defined ok echo/%%a
)
pause