我有一个文本文件,该文本文件多次包含以下行:
REPORT TOTALS ###.## ##
***********NEW REPORT************
“ REPORT TOTALS”是静态的,但是此后任何字符都会更改。“ *********** NEW REPORT ************”是静态的。
[试图创建一个介于两者之间的新行的脚本,但是,问题是通配符不适用于EQU Command:“报告总数*”
以下是我的代码的基础:
@ECHO OFF
setlocal
set inputfile=Test.txt
set outputfile=Test_OutPut.txt
(for /F "usebackq delims=" %%a in ("%inputFile%") do (
echo(%%a
if "%%a" equ "REPORT TOTALS*" (
echo.
echo.
)
)) > "%outputfile%"
ECHO/
ECHO Done!
预期结果将是:
REPORT TOTALS ###.## ##
***********NEW REPORT************
而不是嵌套另一个for-loop,我只是使用findstr检查以REPORT TOTALS
开头的行:
@If Exist "Test.txt" (>"Test_OutPut.txt" (For /F "Tokens=1*Delims=]" %%A In (
'^""%__AppDir__%find.exe" /V /N ""^<"Test.txt"^" 2^>NUL'
) Do @(Echo="%%B"|>NUL "%__AppDir__%findstr.exe" /BRIC:"\"REPORT TOTALS "
If ErrorLevel 1 (Echo=%%B) Else Echo=%%B&Echo=&Echo=)))