繁体   English   中英

Powershell 删除文件夹内 txt 文件中的行

[英]Powershell to delete lines in a txt file within a folder

好的。 我已经在测试 ChatGPT 以帮助我创建一个 PowerShell 脚本来删除文件夹中少于 48 个字符的 txt 文件中的行,以及 append 文件名末尾的 A:例如,sys20221224.txt - > sys20221224A.txt。

我知道我很接近。 这是我到目前为止所拥有的:

Get-ChildItem -Path "C:\temp\powershellTest" -Filter "*.txt" | ForEach-Object {
    $file = $_.FullName
    $newFile = "$($file.substring(0,$file.lastindexof('.')))A.txt"
    Get-Content -Path $file | Where-Object {$_.length -ge 48} | Out-File -FilePath $newFile
}

它有点工作,但 50MB 的文件现在是 100MB。 少了 20k 行,但文件更大。

$list = Get-ChildItem -Path "C:\temp\powershellTest" -Filter "*.txt" Set-Location "C:\temp\powershellTest"

ForEach ($l in $list) {

if ($l.length -lt 48){

Clear-Content $l -Verbose
Rename-Item $l ((($l.Name)).ToString() + "A")


 }

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM