我有一个相当专业的任务,我正在尝试自动化。每天,有人必须从四个不同的.dat文件中将144个文件复制到Excel电子表格中。这些.dat文件每天更新两次,新数据导致文件每次增长。因此,我们在文件底部附近复制144行,最后一行从文件的最后一行复制已知行数。我想自动化这个过程。我已经确定了一种方法,但我是编码的新手。我想编写一个脚本,可以从文件末尾复制144行指定行数(比如说22行),并粘贴到新的文本文件中。我已经能够找到一些关于复制和粘贴文本文件的前100行的信息到一个新文件(http://www.computing.net/answers/windows-xp/dos-batch-to-copy-first-100-lines-of-a-text-file/202404.html)和一些关于显示最后10行(CMD.EXE batch script to display last 10 lines from a txt file)的信息,但我没有发现似乎它会起作用的东西。
我有这个用于复制最后n行:
@echo OFF
:: Get the number of lines in the file
for /f %%i in ('find /v /c "" ^< test.dat') do set /a lines=%%i
:: Paste last 10 lines
set /a startLine=%lines% - 10
more /e +%startLine% ForneyTEOM.dat > lastLines.txt
echo All Done.
Echo.
Echo Press any key to close this window.
Pause>NUL
EXIT
这不允许我从文件末尾开始结束x行的n行,并从文件末尾开始x + n行,这就是我想要的。