在文本文件中显示行(n)在命令提示符中

Ale*_*der 4 command-line cmd batch-file

我的文本文件包含23行(行包括:!@ $:/;")

我怎么才能显示第3行?在或7?还是19?

我尝试了所有命令都在stackoverflow中

例:

setlocal enabledelayedexpansion
@echo off
for /f "delims=" %%i in (mytext.txt) do (
if 1==1 (
set first_line=%%i
echo !first_line!
goto :eof
))
Run Code Online (Sandbox Code Playgroud)

那只是第一线

lit*_*lit 5

@Compo给出了一个很好的答案.这只是为了阐述它.使用别名GC不应该放入脚本中.在命令行,当然,如果您愿意,请继续减少打字.此外,拼写出参数名称可提供更多信息,并有助于更快地理解.

只获得第3行.

GC .\mytext.txt -T 3|Select -L 1

Get-Content -Path '.\mytext.txt' -TotalCount 3 | Select-Object -Last 1
Run Code Online (Sandbox Code Playgroud)

从CMD控制台(命令提示符):(仅获得第七行(7)

PowerShell "GC .\mytext.txt -T 7|Select -L 1"

PowerShell -NoProfile "Get-Content -Path '.\mytext.txt' -TotalCount 7 | Select-Object -Last 1"
Run Code Online (Sandbox Code Playgroud)

要获得第3到第7行:

$FirstLine = 3
$LastLine=7
powershell -NoProfile -Command "Get-Content -Path '.\t.txt' -TotalCount $LastLine | Select-Object -Last ($LastLine - $FirstLine + 1)"
Run Code Online (Sandbox Code Playgroud)

或者,在cmd.exe批处理脚本中.

SET "FIRSTLINE=3"
SET "LASTLINE=7"
powershell -NoProfile -Command ^
    "Get-Content -Path '.\t.txt' -TotalCount %LASTLINE% |" ^
        "Select-Object -Last (%LASTLINE% - %FIRSTLINE% + 1)"
Run Code Online (Sandbox Code Playgroud)