string - 使用批处理脚本解析字符串

标签 string parsing batch-file

如何使用批处理脚本解析字符串?

目标是将导入:下的所有内容保存在数组中并删除“#head” 例如-->“//MPackages/Project/config/abc.txt”和“//Packages/Project/config/cde.txt”

测试.txt

Version: 4.5.0
Import:
   //MPackages/Project/config/abc.txt                       #head
   //Packages/Project/config/cde.txt                        #head
View:
  //MPackages/Project/config/ac.txt                     #head
  //Packages/Project/config/de.txt                      #head

我的尝试

@echo off

set buildlog="devel.p4inc"

setlocal EnableDelayedExpansion
for /F "tokens=*" %%A in  (devel.p4inc) do  (
if /i "%%A"=="Import:" set "import=true"
IF DEFINED import (echo %%A)

)

最佳答案

@echo off
set "vf=version.txt"
setlocal enableDelayedExpansion
set counter=1
for /f "usebackq tokens=1 delims=#" %%a in ("%vf%") do (
    set "line=%%a"
    if "!line:View=!" neq "!line!" if "!in!" equ "true"  (
        set in=false
        rem echo ###
    )

    if "!in!" equ "true" (
        set "_!counter!_=%%a"
        set /a counter=counter+1
    )
    rem echo !line!
    if "!line:Import=!" neq "!line!" (
        set in=true
        rem echo --
    )

) 

set _

试试这个。它应该在编号列表中设置所需的变量,如 _1__2_; ...

关于string - 使用批处理脚本解析字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29989357/

相关文章:

c++ - 使用 std::getline() 读取一行?

ios - 如何在字符串 ios 中添加空格

jquery - 使用 JQuery 使用 CDATA 解析 XML

batch-file - 如何在 Windows 批处理环境中获取今天的日期?

xml - 如何复制一个元素(文本字符串)的内容并附加到另一个元素的内容? (XML)

c# - ADO 命令文本语法

c# - 返回赋值表达式

c - sscanf 读取多个字符

R匹配键值向量与不规则字符串向量

eclipse - eclipse 不返回错误级别