加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

Windows – 批处理文件FOR / f令牌

发布时间:2020-12-13 20:24:42 所属栏目:Windows 来源:网络整理
导读:任何人都可以直接解释以下代码如何工作.我真的迷路了我一直在尝试学习如何使用FOR命令,但我不明白这一点. @echo offfor /f "tokens=* delims= " %%f in (myfile) do ( set line=%%f call :processToken ) goto :eof:processToken for /f "tokens=1* delims=/
任何人都可以直接解释以下代码如何工作.我真的迷路了我一直在尝试学习如何使用FOR命令,但我不明白这一点.
@echo off

for /f "tokens=* delims= " %%f in (myfile) do (
  set line=%%f
  call :processToken
  )
  goto :eof

:processToken

  for /f "tokens=1* delims=/" %%a in ("%line%") do (
  echo Got one token: %%a
  set line=%%b
  )
  if not "%line%" == "" goto :processToken
  goto :eof
for /f "tokens=* delims= " %%f in (myfile) do

它逐行读取一个文件,删除前导空格(谢谢,jeb).

set line=%%f

然后将行变量设置为刚刚读取的行

call :procesToken

调用一个执行某行的子例程

:processToken

是上述子程序的开始.

for /f "tokens=1* delims=/" %%a in ("%line%") do

然后将在/分割行,但在第一个令牌之后停止标记化.

echo Got one token: %%a

将输出第一个令牌和

set line=%%b

将线变量设置为该行的其余部分.

if not "%line%" == "" goto :processToken

如果行尚未为空(即处理所有令牌),则返回到开始,继续执行该行的其余部分.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读