根据末尾的行数从文件复制和粘贴

时间:2015-10-06 14:42:51

标签: windows batch-file copy-paste

我有一个相当专业的任务,我正在尝试自动化。每天,有人必须从四个不同的.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行,这就是我想要的。

0 个答案:

没有答案