我是PowerShell的新手,我想读取文件夹(子文件夹)中的多个文件,并希望将我的内容放入/写入特定位置的文件中。 但如果该内容已在文件中可用,则应跳过表示不写入文件
我有两个配置文件
C:\Projects\Project_1\project1.config
C:\Projects\Project_2\project2.config
project1.config文件包含
add key="Environment" value="Dev"/
add key="Environment" value="Demo"/
project2.config文件包含
add key="Environment" value="Dev"/
我想写一个脚本,两个文件都应该低于内容
add key="Environment" value="Dev"/
add key="Environment" value="Demo"/
project1.config不应该复制此数据,因为它已经拥有它,只有project2.config应该添加此代码
答案 0 :(得分:0)
这可能不适用于大文件,但一个简单的方法是读取所有文件并删除任何重复的行。
Get-ChildItem "C:\Projects" -Recurse -Include "*.config" |
ForEach-Object{Get-Content $_.FullName} |
Select-Object -Unique |
Set-Content "C:\temp\NewFile.config"
获取Projects direcory下的所有配置文件,并将每个文件作为数组读取。然后使用Select-Object -Unique
从文件集中删除任何重复项。