ps
# 指定源目录和输出文件路径 $projectName = "xxx" $sourceDirectory = "C:\Projects\" + $projectName $outputFile = "C:\Output\" + $projectName + ".txt" # 确保输出目录存在 $outputDirectory = Split-Path -Path $outputFile if (-not (Test-Path -Path $outputDirectory)) { New-Item -ItemType Directory -Path $outputDirectory } # 清空或创建输出文件 if (Test-Path -Path $outputFile) { Clear-Content -Path $outputFile } else { New-Item -ItemType File -Path $outputFile } # 遍历指定目录下的所有 .cs 文件,并将内容追加到输出文件中 Get-ChildItem -Path $sourceDirectory -Filter "*.cs" -Recurse | ForEach-Object { $filePath = $_.FullName # 将文件内容追加到输出文件中 Add-Content -Path $outputFile -Value (Get-Content -Path $filePath) # 添加换行符以分隔文件内容(可选) Add-Content -Path $outputFile -Value "`n" } Write-Host "所有 .cs 文件内容已保存到 $outputFile"
解释
1.指定源目
录和输出文件路径: $sourceDirectory 是你要遍历的目录。
$outputFile 是你要保存合并内容的新文件的路径。
2.确保输出目录存在:
使用 Split-Path 获取输出文件的目录路径。
使用 Test-Path 检查目录是否存在,如果不存在则使用 New-Item 创建。
3.清空或创建输出文件:
如果输出文件已存在,则使用 Clear-Content 清空文件内容。
如果输出文件不存在,则使用 New-Item 创建一个新文件。
4.遍历指定目录下的所有 .cs 文件:
使用 Get-ChildItem 遍历目录中的所有 .cs 文件,包括子目录(使用 -Recurse 参数)。
对每个文件,获取其完整路径,然后使用 Get-Content 读取文件内容,并使用 Add-Content 将内容追加到输出文件中。
5.可选:在文件内容之间添加一个换行符以分隔不同文件的内容。
6.输出操作结果:
使用 Write-Host 输出一条消息,告知用户所有 .cs 文件的内容已保存到指定的输出文件中
Reference:
Get-ChildItemAdd-Content
Get-Content
标签:文件,outputFile,输出,指定,目录,Content,Path,PowerShell From: https://www.cnblogs.com/CRobot/p/18499896