首页 > 解决方案 > Powershell在每个C文件的beinning上设置Header

问题描述

我需要一个动态解决这个问题的方法:

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

谢谢你的支持。

标签: powershell

解决方案


你可以试试这个模块,包含文档。

简而言之,它是以下功能:

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;
    }
}

希望有帮助。


推荐阅读