gpt4 book ai didi

powershell - 将传入的$ args强制转换为字符串值

转载 作者:行者123 更新时间:2023-12-03 00:38:52 26 4
gpt4 key购买 nike

我的powershell脚本与一个外部程序连接,该外部程序以格式发送不同数量的参数

primary site=Peachtree Street

并以逗号分隔
primary site=Peachtree Street, last logon=13 Nov 2013, sender-ip-10.10.10.10

我一直在互联网上搜索如何将$ args转换为字符串-否则$ args会删除逗号,并且我需要逗号

这是我为$ args尝试的

sender-ip = 10.10.10.10,主要站点位置=桃树街,创建者= jsmith

第一个剧本
write-host $args

$args = $args | Out-String

write-host $args

第一输出
sender-ip=10.10.10.10 primary site location=peachtree street created by=jsmith
sender-ip=10.10.10.10
primary
site
location=peachtree
street
created
by=jsmith

第二剧本
write-host $args

$args = "'" + $args + "'"

write-host $args

第二输出
sender-ip=10.10.10.10 primary site location=peachtree street created by=jsmith
'System.Object[] site location=peachtree System.Object[] by=jsmith'

第三剧本
write-host $args

foreach ($i in $args){
$i = $i | Out-String
}

write-host $args

第三输出
sender-ip=10.10.10.10 primary site location=peachtree street created by=jsmith
sender-ip=10.10.10.10 primary site location=peachtree street created by=jsmith

但是,如何保留逗号????

请帮忙!!!

最佳答案

引用您的输入

"sender-ip=10.10.10.10, primary site location=peachtree street, created by=jsmith" 

逗号用于创建数组,但是在文本两边加上引号会将所有内容保存为单个字符串。

我个人还建议您避免使用 args,而是创建一个参数,以便可以像 -paramtername "sender-ip=10.10.10.10, primary site location=peachtree street, created by=jsmith"一样调用它。或至少使用 $args[0]。如果有人忘记了引号,事情可能会中断,因为 $args随后将成为数组。

更新:这应该工作。但是,这是“脏污修复程序”。
Write-Host (($args | % { $_ -join ", " }) -join " ")

关于powershell - 将传入的$ args强制转换为字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20250228/

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