批处理脚本在目录中搜索字符串并将结果保存到文件

时间:2016-08-04 13:22:15

标签: batch-file cmd

我已经做了一些搜索,找不到任何可以满足我需要的东西,而且我的代码因某些原因而无法正常工作。

我有一个包含多个子目录的文件夹,其中包含日志文件,有点像这样;

  1. 第1天日志
    • Log Machine 1
    • Log Machine 2
    • Log Machine 3
  2. 第2天的日志
    • Log Machine 1
    • Log Machine 2
    • Log Machine 3
  3. 依旧......

    我写的脚本应该进入每个子目录,在该目录中的每个文件中搜索一个字符串,并将出现次数输出到该目录中的文件

    预期结果:

    1. 第1天日志
      • Log Machine 1
      • Log Machine 2
      • Log Machine 3
      • 结果
    2. 第2天的日志
      • Log Machine 1
      • Log Machine 2
      • Log Machine 3
      • 结果
    3. 然后我有一个脚本经过并将每个文件夹作为自己的zip文件压缩,以便存档。

      这是我的代码:

      ECHO /// UNZIPPING ALL FOLDERS AND DELETING ORIGINAL ZIPS ///
      FOR /R "C:\Users\xxx\Desktop\LogQueue" %%I in ("*.zip") do (
         "%ProgramFiles%\7-Zip\7z.exe" x -y -o"%%~dpnI" "%%~fI" 
      )
      del /s /q /f C:\Users\pat\Desktop\LogQueue\*.zip
      
      ECHO /// SEARCHING FOR STRING AND SAVING TO EXPORT FILE ///
      cd "C:\Users\pat\Desktop\LogQueue"    
      for %%f in (*.log) do findstr /i /m /p /c:"error" "%%f" >> results.txt
      
      
      ECHO /// ZIPPING EVERYTHING BACK UP ///
      for /d %%X in (*) do "c:\Program Files\7-Zip\7z.exe" a "%%X_new.zip" "%%X\" 
      

      任何帮助表示赞赏。无论出于何种原因,搜索功能绝对没有任何作用。解压缩和重新压缩过程工作正常。

1 个答案:

答案 0 :(得分:3)

将此脚本保存到 analyze.bat ,从Cmd提示符运行,尝试调试任何错误。如果需要帮助,请告诉我:

COL3