gpt4 book ai didi

powershell - 多次替换问题

转载 作者:行者123 更新时间:2023-12-03 16:46:54 24 4
gpt4 key购买 nike

$FichierModifié = $Modele -replace "< NOM_ECOLE >" $_.NOM_ECOLE -replace "< ADDR_FW_LAN >", $_.ADDR_FW_LAN -replace "< ADDR_POOL_DHCP_LAN >", $_.ADDR_POOL_DHCP_LAN -replace "< ADDR_FW_WAN >", $_.ADDR_FW_WAN -replace "< ADDR_MASK_WAN >", $_.ADDR_MASK_WAN -replace "< ADDR_GW_WAN >", $_.ADDR_GW_WAN -replace "< MAC_FW >", $_.MAC_FW -replace "< PPPOE_USERNAME >", $_.PPPOE_USERNAME -replace "< PPPOE_PASSWORD >", $_.PPPOE_PASSWORD

我想让这一行更具可读性。我尝试了很多在这里找到的解决方案,但没有一个对我有用。

$Modele.Replace("<NOM_ECOLE>", $_.NOM_ECOLE).
Replace("<ADDR_FW_LAN>", $_.ADDR_FW_LAN).

上面的代码给我一个错误

"." is an invalid token

` 相同,而不是 .

最佳答案

使其更具可读性的最简单方法是添加空格。将每个 -replace "foo","bar" 放在自己的行上。您需要在每行末尾加一个反引号,以告诉 PowerShell 应将其全部解析为一行。

$FichierModifié = $Modele `
-replace "< NOM_ECOLE >" $_.NOM_ECOLE `
-replace "< ADDR_FW_LAN >", $_.ADDR_FW_LAN `
-replace "< ADDR_POOL_DHCP_LAN >", $_.ADDR_POOL_DHCP_LAN `
-replace "< ADDR_FW_WAN >", $_.ADDR_FW_WAN `
-replace "< ADDR_MASK_WAN >", $_.ADDR_MASK_WAN `
-replace "< ADDR_GW_WAN >", $_.ADDR_GW_WAN `
-replace "< MAC_FW >", $_.MAC_FW `
-replace "< PPPOE_USERNAME >", $_.PPPOE_USERNAME `
-replace "< PPPOE_PASSWORD >", $_.PPPOE_PASSWORD

如果你想走得更远,将替换放在一个数组中并在循环中替换。如果您在许多地方进行类似的替换,这将非常有用。

$replacements = @(
@{src="< NOM_ECOLE >"; target = $_.NOM_ECOLE}
@{src="< ADDR_FW_LAN >"; target = $_.ADDR_FW_LAN}
@{src="< ADDR_POOL_DHCP_LAN >"; target = $_.ADDR_POOL_DHCP_LAN}
@{src="< ADDR_FW_WAN >"; target = $_.ADDR_FW_WAN}
@{src="< ADDR_MASK_WAN >"; target = $_.ADDR_MASK_WAN}
@{src="< ADDR_GW_WAN >"; target = $_.ADDR_GW_WAN}
@{src="< MAC_FW >"; target = $_.MAC_FW}
@{src="< PPPOE_USERNAME >"; target = $_.PPPOE_USERNAME}
@{src="< PPPOE_PASSWORD >"; target = $_.PPPOE_PASSWORD}
)

$FichierModifié = $Modele
foreach ($x in $replacements) {
$FichierModifié = $FichierModifié -replace $x.src, $x.target
}

关于powershell - 多次替换问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50832071/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com