powershell - 忽略文件中的第一行和最后一行

标签 powershell

我正在尝试使用 PowerShell 替换多个文本文件的某些列中的字符。除了我需要忽略每个文件中的第一行和最后一行之外,我让它工作得很好,但我无法让它工作。

这是我目前所拥有的:

$Location = "C:\Users\gerhardl\Documents\Tenacity\TEMP\POWERSHELL TESTS"
$Data = "$Location\*.TXT"
$Output = "$Location\Fixed"

Get-Item $Data |
    ForEach-Object {
        $file = $_
        $_ | 
            Get-Content | 
            ForEach-Object {
                $Beginning = $_.Substring(0,105)
                $Account = $_.Substring(105,20) -replace "[ABCDEFGHIJKLMNOPQRSTUVWXYZ]", " "
                $End = $_.Substring(125)
                '{0}{1}{2}' -f $Beginning,$Account,$End
            } |
            Set-Content -Path (Join-Path $Output  $file.Name)

    }

我知道有类似的线程,但我的 For Each 循环似乎不能很好地处理这些建议。

最佳答案

您可以使用 -Skip 1-SkipLast 1 :

Get-Content $file  | Select-Object -Skip 1 | Select-Object -SkipLast 1

为 PS < 5 编辑:

$text = Get-Content $file | Select-Object -Skip 1
$newText = $text.GetRange(0,($text.Count - 1))
$newText

关于powershell - 忽略文件中的第一行和最后一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44527727/

相关文章:

powershell - PowerShell在CMD提示符下执行命令

Azure Powershell - 用于跨订阅获取 VM 信息的脚本

powershell - 如何获取应用服务的 Azure MSI 引用?

Python manage.py runserver 不适用于项目(Django)

适用于 Azure AD 联合域的 PowerShell cmdlet

windows - 您可以从 PowerShell 创建一个匿名访问的 Windows 共享吗?

windows - 用于保留缓冲区的 Powershell Clear-Host 替代方案

mysql - 如何在 MySQL 查询中使用 powershell 自定义对象变量

powershell - 使用带有变量而不是文件的mofcomp.exe

json - 如何替换JSON键值?