我找到了代码(见下文),但我没有编码的能力。我想从文本文件中选择所需的部分(行)并保存在另一个文本文件中!谢谢你的帮助!
CODE:
@echo OFF
:: Get the number of lines in the file
set LINES=0
for /f "delims==" %%I in (data.txt) do (
set /a LINES=LINES+1
)
:: Print the last 10 lines
set /a LINES=LINES-10
more +%LINES% < data.txt
答案 0 :(得分:0)
注意以下内容仅反映您的问题正文和代码内容,而忽略了您的问题标题文字。
这是一个脚本,它会执行你的问题代码所做的事情,除了它输出到文件。
输出文件将写入当前目录并命名为名称 - 最后 X.ext 。 其中名称和 .ext 将与源文件的名称和扩展名相同, X 将是输出行数的
您需要进行的唯一更改是第3行的源文件和第4行的最后输出行数。
@Echo Off
Set "SrcFile=data.txt"
Set "LastNum=10"
Rem If SrcFile doesn't exist or LastNum isn't at least 1 exit the script
If Not Exist "%SrcFile%" Exit/B
If 1%LastNum% Lss 11 Exit/B
Rem Calculate line number for first line of output
Set "#=-%LastNum%"
For /F "Delims=" %%A In ('Find /V /C ""^<"%SrcFile%"') Do Set/A #+=%%A
Rem Re-calculation for files with less lines than LastNum
If %#% Lss 0 Set/A "LastNum+=#, #=0"
Rem Create destination filename for output
For %%A In ("%SrcFile%") Do Set "$=%%~nA-Last%LastNum%%%~xA"
Rem Output to destination file
More +%#% "%SrcFile%">"%$%"
请注意,More
会将 tab 更改为 space s