PowerShell 把指定目录下指定后缀的文件内容,保存到新文件中

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-ChildItem
Add-Content
Get-Content

 

posted @   Robot-Blog  阅读(98)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示