2011-05-24 145 views
0

我写了一个脚本来读取一个文件夹对象列表到一个xml文件中,显示文件夹的属性。它还会在稍后的时间点创建另一个xml文件。创建delta xml文件后,我将两个xml文件导入并根据文件夹名称进行比较,以显示哪些文件夹已被删除或删除,并将结果以html格式保存到文件以供查看。一切正常,但我想替换结果中的一些值。 比较对象 cmd-let让我显示一些属性,但通过将=>添加到增量文件中的文件夹或< =中删除增量文件中删除的文件夹,告诉我们更改的是哪一方。我真的想替换SideIndicator的列名,并用更直观的东西替换=>或< =值。我玩弄了使用-Replace {$ _ $ original,$ newvalue}类型的方法。我找到了关于嘿脚本专家博客和其他一些例子的指导,但似乎没有人做我想要的。解决这个问题的最好方法是什么?目前我不存储比较结果,只是格式化和转换为HTML。任何建议表示赞赏。如果需要,我可以发布代码,但它大约有60行,我真的在寻找最佳方法来完成此任务,而不是编写代码的人。如何用PowerShell替换CSV或html文件中的多个值?

谢谢!

+0

所以,这个问题与csv或html没有任何关系,并且简单地想知道如何用更有意义的方式替换'SideIndicator'。对? – 2011-05-24 15:14:49

回答

0

这是一种方法,但我最终修改通过执行以下操作HTML报告:

(Get-Content $WorkingDirectory\FolderAudit_$UseDateTime.htm) | 
Foreach-Object {$_ -replace "SideIndicator", "Change Status"} | 
Set-Content $WorkingDirectory\FolderAudit_$UseDateTime.htm 
(Get-Content $WorkingDirectory\FolderAudit_$UseDateTime.htm) | 
Foreach-Object {$_ -replace "=&gt;", "New"} | 
Set-Content $WorkingDirectory\FolderAudit_$UseDateTime.htm 
(Get-Content $WorkingDirectory\FolderAudit_$UseDateTime.htm) | 
Foreach-Object {$_ -replace "&lt;=", "Removed"} | 
Set-Content $WorkingDirectory\FolderAudit_$UseDateTime.htm 

它似乎没有效果,因为一个声明取代了我正在寻找的三个不同的部分。最终我会玩弄它,并简化它,但现在它做我想要的。

相关问题