我有一個Java程序可以在文件的最後兩行附加新的構建信息。 如何在批處理文件中讀取它們?如何在批處理腳本中讀取文件的最後兩行
回答
這將解決這個問題,其中someFile.txt是要讀取行的文件:
for /f %%i in ('find /v /c "" ^< someFile.txt') do set /a lines=%%i
echo %lines%
set /a startLine=%lines% - 2
more /e +%startLine% someFile.txt > temp.txt
set vidx=0
for /F "tokens=*" %%A in (temp.txt) do (
SET /A vidx=!vidx! + 1
set localVar!vidx!=%%A
)
echo %localVar1%
echo %localVar2%
del temp.txt
該代碼段這樣的伎倆......
for /F "delims=" %%a in (someFile.txt) do (
set "lastButOne=!lastLine!"
set "lastLine=%%a"
)
echo %lastButOne%
echo %lastLine%
編輯:完整TAIL.BAT添加
此方法可能會被修改爲了ge t可以由參數指定的更多行數。下面的文件tail.bat:
@echo off
setlocal EnableDelayedExpansion
rem Tail command in pure Batch: Tail.bat filename numOfLines
rem Antonio Perez Ayala
for /F "delims=" %%a in (%1) do (
set /A i=%2, j=%2-1
for /L %%j in (!j!,-1,1) do (
set "lastLine[!i!]=!lastLine[%%j]!
set /A i-=1
)
set "lastLine[1]=%%a"
)
for /L %%i in (%2,-1,1) do if defined lastLine[%%i] echo !lastLine[%%i]!
2ND編輯:TAIL.BAT的新版本中添加
下面的版本更高效:
@echo off
setlocal EnableDelayedExpansion
rem Tail command in pure Batch, version 2: Tail.bat filename numOfLines
rem Antonio Perez Ayala
set /A firstTail=1, lastTail=0
for /F "delims=" %%a in (%1) do (
set /A lastTail+=1, lines=lastTail-firstTail+1
set "lastLine[!lastTail!]=%%a"
if !lines! gtr %2 (
set "lastLine[!firstTail!]="
set /A firstTail+=1
)
)
for /L %%i in (%firstTail%,1,%lastTail%) do echo !lastLine[%%i]!
沒有併發症或臨時文件的好方法。雖然有更多的線要回顯,但會更棘手。 – 2014-12-11 19:10:20
@Kayasax:不是。看到編輯... – Aacini 2014-12-11 21:35:37
我覺得很頭疼......; – 2014-12-12 12:05:46
- 1. 如何使用批處理腳本讀取文本文件
- 2. 批處理腳本讀取第一行
- 3. 如何從批處理腳本中運行批處理腳本?
- 4. 在批處理文件中運行批處理腳本
- 5. 讀取文件的每一行 - 批處理腳本
- 6. 如何通過批處理文件並行讀取兩個文本文件?
- 7. 批處理腳本:讀取線之後每隔一行讀
- 8. 後臺的批處理腳本先讀取文本
- 9. 如何在批處理腳本中運行powershell腳本和批處理腳本?
- 10. 在批處理或VBS腳本中逐行讀取文本文件?
- 11. 從Windows批處理腳本中的文件中讀取值
- 12. 讀取文件並從批處理腳本中獲取值
- 13. 如何使用Windows批處理腳本獲取文件最後一行中的最後一個單詞?
- 14. 在文本文件中讀取第n行並在MS批處理中處理
- 15. Windows批處理腳本,用於讀取.jar中的pom.properties文件
- 16. 運行批處理文件並在暫停後讀取最後一行輸出
- 17. 如何使用批處理腳本讀取帶空格的行?
- 18. 我需要批處理腳本從文本文件中讀取第一行
- 19. 批處理腳本 - 如何寫入文本文件的單行
- 20. 如何在CMakeLists.txt中讀取批處理腳本變量
- 21. 批處理文件腳本
- 22. 如何在批處理文件中運行SQL腳本
- 23. 如何在shell腳本中運行windows批處理文件?
- 24. 通過批處理腳本將最後兩行文本指定爲變量
- 25. 從同一批處理文件中讀取批處理文件的第一行?
- 26. 批處理腳本讀取包含path-to-dir的文件,並獲取最新文件,從文件中讀取最後一行並打印
- 27. 使用批處理腳本逐行解析文本文件(批處理文件)
- 28. 批處理腳本讀取信息
- 29. 批處理文件運行JMeter腳本
- 30. 批處理文件執行Powershell腳本
什麼碼你到目前爲止? – Lizz 2014-12-11 06:00:44
我什麼都沒有.. – Joshi 2014-12-11 06:01:05
如果你有權訪問Windows資源工具包,我一定會用['tail'](http://www.windows-commandline.com/tail-command-for-windows/)來做這個。 – 2014-12-11 06:50:28