2012-07-02 2 views
0

Я сравниваю каждый файл properties.log в корневом каталоге: c: \ executionsdktest_10.2.2 с файл ссылки. Время выполнения в формате xx: xx: xx печатается в первых 8 символах из 28 строк файла ref и properties.log, так как время будет другим и несущественным, я хотел бы пропустить первые 8 символов любой строки, содержащей время. Как я могу это сделать?Заменить все строки .txt с первыми 8 символами, имеющими формат xx: xx: xx, где x - целое число в пакетном файле

REM assume <refLog>.txt exists 
<!logPath! (
For /F "tokens=*" %%R in (!refLogPath!) DO (
    set logLine= 
     set /p logLine= 
    set refLogLine=%%R 

    REM Check line by line of log against refLog 

    REM if corresponding lines mismatch: skip xx:xx:xx 
    if NOT "!logLine!"=="!refLogLine!" (
     Echo. 
     Echo line below is Incorrect: 
     set lnCorrect=false 
     REM output to command line: can be put into .log/.txt later 
     REM output ANY and ALL incorrect line in log file 
      ECHO !logLine! 
          ) 
         )  
    ) 

ответ

0

Вы можете взять подстроки переменных с

!logLine:~8! 

который лишит первые 8 символов из строки. Точно так же для refLogLine, конечно.

+0

Hey @Joey Мне нужен более общий подход: везде, где я вижу xx: xx: xx, я бы пропустил эти 8 символов – jerryh91

+0

Это довольно сложно и, вероятно, требует большого количества кода в пакетном файле. – Joey

Смежные вопросы