我尝试运行下一个脚本失败:
1.在D:\下找到所有.properties文件 如果文件内容包含'iis',那么将两个单独的行附加到 文件。
和
2.找到c:\下的所有.prop2文件 如果文件内容包含'win88',则在文件中附加两行。
脚本:
$file1 = Get-ChildItem -Path D:\* -Filter *.properties -Recurse
$file2 = GetChildItem -Path C:\* -Filter *.prop2 -Recurse
if ( $file1 -contains '*iis*') {Add-Content $file1 "'nServer1'nServer2"};
if ( $file2 -contains '*win88*') {Add-Content $file2 "'nServer3'nServer4"};
答案 0 :(得分:0)
Get-ChildItem
可以返回多个文件。您需要遍历文件列表,获取其内容,然后检查它们是否包含您要查找的字符串。这是*.properties
的简单解决方案。
$file1 = Get-ChildItem -Path D:\* -Filter *.properties -Recurse | % {
$fileContents = Get-Content $_
if ( $fileContents -contains '*iis*') {Add-Content $file1 "'nServer1'nServer2"};
}