大約今天第五次我做了for /?
,並通過所有屏幕間隔以達到替換參考的底部,我決定想出一種方法來快速獲得它,簡單。經過一段時間,我想出了:從標準輸出中提取一段輸出
for /? | more +118
我甩的是到一個批處理文件,並把它稱爲optparams.cmd和它正是我想要的。現在,我想用SET
做同樣的事情,但只列出環境變量替換部分。我可以再次執行MORE
技巧,但是當我完成後,我不得不滾動屏幕的其餘部分。
我的問題是:什麼是最簡單的方法來顯示STDOUT的一部分給定的起始和結束參數?行號或某些文本字符串將是最好的。我在想,將它全部讀入數組將是開始的方式,但我仍然試圖讓我的頭在批處理的時候。任何見解或提示的讚賞。
編輯:我把MC ND的帖子變成了下面這個基本上我想要的功能。
call :ExtractBetween 68 96 "set /?"
exit /b
:ExtractBetween start stop cmd
@echo off & setlocal
set _start=%1 & set _end=%2 & set _cmd=%~3
for /F "tokens=1,* delims=:" %%f in (
'%_cmd% ^| findstr /n /r "." ') do (
if %%f geq %_start% if %%f leq %_end% (
echo %%g)
)
exit /b
避免這個問題,而不是滾動瀏覽其餘的屏幕,只需點擊CTRL-C(或Q即可)? ;-) –
最簡單的方法是爲此採取'sed'。 – Endoro