如何删除文本文件中的最后几行与PowerShell [重复]

lpwwtiir  于 2023-05-22  发布在  Shell
关注(0)|答案(1)|浏览(137)

此问题已在此处有答案

PS Script is exporting an empty CSVs(3个答案)
24天前关闭

我有一个文本文件如下

苹果=1
芒果=1
Appleandmanggobellongsto=吉米
苹果=1
芒果=1
Appleandmanggobellongsto=Dave
苹果=1
芒果=1
Appleandmanggobellongsto=Carlton

我想删除最后3行,这是我想实现的:

苹果=1
芒果=1
Appleandmanggobellongsto=吉米
苹果=1
芒果=1
Appleandmanggobellongsto=Dave
$File = c:\Text.txt
get-content $文件|select-object -skiplast 3| set-contect $文件
但我什么也没得到。
请告诉我我做错了什么?

kgsdhlau

kgsdhlau1#

Set-Contect不是一个内置的cmdlet,假设你指的是Set-Content,那么问题是你试图在一个管道中读取和写入同一个文件,这会导致一个空白文件。您需要首先使用Get-Content的输出,然后写入文件,为此可以使用分组操作符( )

$File = 'c:\Text.txt'
(Get-Content $File) | Select-Object -SkipLast 3 | Set-Content $File

相关问题