【发布时间】:2020-12-31 22:35:05
【问题描述】:
如何根据外部 CSV 列将循环中的字符串替换为 myfile.xml?
myfile.xml 包含:
<User Name="USER1">
<Option Name="Pass">45E4EDE</Option>
<Option Name="Salt">P&</Option>
<Option Name="Group"></Option>
<Option Name="Bypass server userlimit">0</Option>
<Option Name="User Limit">0</Option>
<Option Name="IP Limit">0</Option>
<Option Name="Enabled">1</Option>
/User>
<User Name="USER2">
<Option Name="Pass">4533EDE</Option>
<Option Name="Salt">P&/Option>
<Option Name="Group"></Option>
<Option Name="Bypass server userlimit">0</Option>
<Option Name="User Limit">0</Option>
<Option Name="IP Limit">0</Option>
<Option Name="Enabled">1</Option>
/User>
<User Name="USER3">
<Option Name="Pass">733EDE</Option>
<Option Name="Salt">P&/Option>
<Option Name="Group"></Option>
<Option Name="Bypass server userlimit">0</Option>
<Option Name="User Limit">0</Option>
<Option Name="IP Limit">0</Option>
<Option Name="Enabled">1</Option>
/User>
外部 mycsv.csv 包含:
Users,Comments,HomeDir
USER1,account1,c:\folder1
USER2,account2,c:\folder2
USER3,account3,c:\folder3
我需要在“用户”列中使用 foreach USER 将 myfile.xml 中的 "Enabled">1 替换为 "Enabled">0。
可能我需要一些像Select-String $_.Users -Context 0,7 这样的代码,但我需要一个提示。
谢谢
【问题讨论】:
-
xml 不好(很多错误),您将无法将其转换为内部对象以进行进一步处理。
标签: powershell csv