param($target = "C:\Dev\Github\WireMock.Net") $header = "// Copyright © WireMock.Net " function Write-Header ($file) { $content = Get-Content $file -Raw # Using -Raw to read the entire file as a single string $filename = Split-Path -Leaf $file # Check if the file content starts with the auto-generated line if ($content.TrimStart().StartsWith("// ")) { Write-Host "Skipping auto-generated file: $filename" } else { # If not an auto-generated file, prepend the header Set-Content $file $header Add-Content $file $content -NoNewline # Writing back to the file without an extra newline } } Get-ChildItem $target -Recurse | ? { $_.Extension -like ".cs" } | % ` { Write-Header $_.PSPath.Split(":", 3)[2] }