1

我正在尝试对 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!
)
4

1 回答 1

2

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

但如果你真的想继续...

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

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

于 2012-06-27T21:08:22.843 回答