Powershell在每个C文件的开头设置标题

时间:2018-11-27 10:44:12

标签: powershell

我需要一种动态解决方案来解决这个问题:

在Powershell中,我需要创建一个脚本/ CMDLET,以在所有C文件上设置特定的标头(文本)。

感谢您的支持。

1 个答案:

答案 0 :(得分:0)

您可以尝试此module,其中包括文档。

简而言之,它具有以下功能:

function Add-FileHeader {
    [CmdletBinding()]
    Param(
            [Parameter(Mandatory=$true)]
            [ValidateScript({ Test-Path $_ })] 
            [string] $DirectoryToSearchThrough,

            [Parameter(Mandatory=$true)]
            [ValidateNotNullOrEmpty ()]
            [ValidateScript({ $_ -ge 1 })] 
            [string[]] $IncludeFilePattern,

            [Parameter(Mandatory=$true)]
            [ValidateNotNull()] 
            [string] $FileHeaderToAdd,

            [Parameter(Mandatory=$false)]
            [ValidateNotNullOrEmpty ()]
            [ValidateScript({ $_ -ge 1 })] 
            [string[]] $ExcludeFilePattern
    )

    Get-ChildItem -Path $DirectoryToSearchThrough -Include $IncludeFilePattern -Exclude $ExcludeFilePattern -Recurse | `
    ForEach-Object {
            Write-Host "Working on $($_.Name)"

            $content = Get-Content $_; 
            Set-Content -Path $_.FullName -Value $FileHeaderToAdd, $content;
    }
}

希望有帮助。