Как заменить несколько значений в файле CSV или HTML с PowerShell? - PullRequest
0 голосов
/ 24 мая 2011

Я написал скрипт для чтения списка объектов папки в xml-файл, показывающий свойства папки.Это также создает другой файл XML в более поздний момент времени.После создания файла delta xml я импортирую оба файла xml и сравниваю их по имени папки, чтобы показать, какие папки были удалены или удалены, и сохранить результаты в формате html в файл для просмотра.Все работает хорошо, но я хочу заменить некоторые значения в результатах. compare-object cmd-let позволяет мне отображать некоторые атрибуты, но сообщает, на какой стороне было изменение, поставив => для папки, добавленной в дельта-файл, или <= для папки, удаленной в дельта-файле,Я действительно хотел бы заменить имя столбца SideIndicator и заменить значения => или <= на что-то более интуитивное.Я поиграл, используя метод -Replace {$ _ $ original, $ newvalue}.Я нашел руководство в блоге Hey Scripting Guy и некоторых других примерах, но ни один из них, казалось, не делал то, что я хочу.Каков наилучший способ приблизиться к этому?В настоящее время я не храню сравниваемые результаты, просто форматирую и конвертирую в HTML.Любой совет приветствуется.Я могу опубликовать код, если это необходимо, но его длина составляет около 60 строк, и я действительно ищу лучший способ сделать это, а не кто-то обязательно писать код. </p>

Спасибо!

Ответы [ 2 ]

0 голосов
/ 26 мая 2011

Это один из подходов, но в итоге я изменил 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 

Это не сработало как одно утверждение, которое заменило три разные части, которые я искалза.В конце концов я поэкспериментирую с этим и немного упросту, но пока он делает то, что я хочу.

0 голосов
/ 24 мая 2011

Если вы просто хотите заменить имена столбцов в отображении вывода, вы можете создать собственную таблицу:

http://gallery.technet.microsoft.com/scriptcenter/ed188912-1a20-4be9-ae4f-8ac46cf2aae4

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...