【问题标题】:Skip characters or extract substring from string variable in batch for comparison?批量跳过字符或从字符串变量中提取子字符串进行比较?
【发布时间】:2012-06-27 20:22:26
【问题描述】:

我正在尝试逐行比较 2 个 .txt 文件。但问题是对于第一个文件,我想在第一个文件的前 10 行的每行的前 9 个字符之后开始逐行比较第二个文件。我在某处读到您可以提取子字符串,但我只看到您必须指定子字符串长度(~start,length)的格式,因为我的每一行都有不同的长度。我该如何做到这一点?

 < !logPath! (
 FOR /F "tokens=*" %%A in (%refLogPath%) DO (
      set logLine=
      set /p logLine=
      set refLogLine=%%A
      echo !logLine!
      echo !refLogLine! 

      REM check logLine against refLogLine(ENG-REF.log)
  REM skip 1st 9 chars of each line
      if NOT !logLine!==!refLogLine! (

     set flag=false
         echo !logLine!
 ) else (
 set flag=true
  echo !flag!
)

【问题讨论】:

    标签: batch-file comparison substring filenames skip


    【解决方案1】:

    你真的应该考虑使用批处理以外的东西来进行这种类型的处理。

    但如果你真的想继续……

    查看 SET 命令的帮助文档。在命令提示符下键入 HELP SETSET /?

    在文档中,您将看到您可以省略长度参数,这意味着从字符串的起始位置到结尾:!logline:~9! 将给出您想要的。请记住,位置以 0 开头。

    【讨论】:

      猜你喜欢
      • 2016-03-03
      • 2015-10-03
      • 1970-01-01
      • 1970-01-01
      • 2017-10-25
      • 2018-03-17
      • 1970-01-01
      • 2017-05-30
      • 1970-01-01
      相关资源
      最近更新 更多