我需要打印50個文本文件的最後一頁。目前,我每天都會打開所有50個文本文件,並逐個打印每個文件的最後一頁 - 這是一項非常痛苦的任務。批處理文件打印多個文本文件的最後一頁
我知道這個任務可以通過編寫一個批處理文件來完成,但是我對批處理編程完全一無所知。
希望得到任何幫助。
謝謝!
我需要打印50個文本文件的最後一頁。目前,我每天都會打開所有50個文本文件,並逐個打印每個文件的最後一頁 - 這是一項非常痛苦的任務。批處理文件打印多個文本文件的最後一頁
我知道這個任務可以通過編寫一個批處理文件來完成,但是我對批處理編程完全一無所知。
希望得到任何幫助。
謝謝!
下面的腳本將打印最後50行的文件(data.txt中)的
@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 50 lines
set /a LINES=LINES-50
more +%LINES% < data.txt
希望幫助!
充實了Anshu答案中的想法。這是一個腳本,它將打印當前目錄中所有.TXT文件的最後50行。輸出被髮送到默認打印機。
@echo off
setlocal enableDelayedExpansion
set "tempFile=%temp%\printEnd "
set "pageSize=50"
for %%F in (*.txt) do (
for /f %%N in ('find /c /v "" ^<"%%F"') do set /a skip=%%N-pageSize
if !skip! lss 0 set skip=0
>"%tempFile%%%~nxF" more +!skip! "%%F"
notepad /p "%tempFile%%%~nxF"
)
echo "%tempFile%"
2>nul del "%tempFile%*"
是否要打印到屏幕或實際的打印機?另外,如何定義文本文件的「最後一頁」?一個文本文件可以使用換頁符來分隔頁面,但這不是典型的文本文件。大多數文本文件都是連續的線條流。您可以使用Anshu的想法在每個文件的末尾打印固定數量的行。 – dbenham