Powershell 不';不包含拆分方法
这是我的密码:Powershell 不';不包含拆分方法,powershell,split,Powershell,Split,这是我的密码: $fPath = Get-Content .\param.txt | Select-String 'adresse' -SimpleMatch fPath = $fPath.split("=")[1] $fPath $paramListe = Get-Content .\param.txt | Select-String 'type' -SimpleMatch $paramListe = $paramListe.split("=")[1] $paramListe $seuil
$fPath = Get-Content .\param.txt | Select-String 'adresse' -SimpleMatch
fPath = $fPath.split("=")[1]
$fPath
$paramListe = Get-Content .\param.txt | Select-String 'type' -SimpleMatch
$paramListe = $paramListe.split("=")[1]
$paramListe
$seuil = Get-Content .\param.txt | Select-String 'seuil' -SimpleMatch
$seuil = $seuil.split("=")[1]
$seuil = $seuil
$relanceAuto = Get-Content .\param.txt | Select-String 'relanceAuto' -SimpleMatch
$relanceAuto = $relanceAuto.split("=")[1]
$relanceAuto
下面是导入的.txt文件:
adresse=o:\***************\DataIntegrator
类型=逻辑
seuil=0
relanceAuto=是
我希望这些变量得到“=”符号旁边的值。但每次我启动程序时,它总是告诉我这些不是字符串:
[Microsoft.Powershell.Commands.MatchInfo]没有名为“拆分”的方法
有人能解释一下为什么它不起作用吗?使用
选择字符串
意味着对象存储在您分配的变量中,而不是字符串中,因此在使用.split()
方法之前,您需要获取字符串值
如果您这样做:
PS > $relanceAuto.gettype()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True False MatchInfo System.Object
您可以看到,$relanceAuto
实际上是一个MatchInfo
对象。您可以通过以下方式查看与其关联的属性:
PS > $relanceAuto | Format-List *
IgnoreCase : True
LineNumber : 4
Line : relanceAuto=yes
Filename : InputStream
Path : InputStream
Pattern : relanceAuto
Context :
Matches : {}
这将显示实际需要的数据包含在行
属性中,因此可以按如下方式进行拆分:
PS > $relanceAuto.Line.split('=')[1]
yes
使用
选择字符串
意味着对象存储在指定的变量中,而不是字符串中,因此在使用.split()
方法之前,需要获取字符串值
如果您这样做:
PS > $relanceAuto.gettype()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True False MatchInfo System.Object
您可以看到,$relanceAuto
实际上是一个MatchInfo
对象。您可以通过以下方式查看与其关联的属性:
PS > $relanceAuto | Format-List *
IgnoreCase : True
LineNumber : 4
Line : relanceAuto=yes
Filename : InputStream
Path : InputStream
Pattern : relanceAuto
Context :
Matches : {}
这将显示实际需要的数据包含在行
属性中,因此可以按如下方式进行拆分:
PS > $relanceAuto.Line.split('=')[1]
yes
除了arco444所述之外,还可以使用双引号对现有代码进行字符串转换
$relanceAuto = "$relanceAuto".Split("=")[1]
除了arco444所述之外,还可以使用双引号对现有代码进行字符串转换
$relanceAuto = "$relanceAuto".Split("=")[1]
伟大的请记住,如果可以解决您的问题,最好使用
get member
来显示属性(以及方法、事件等)@Kayasax我不确定我是否同意“更好”,它们可以做不同的事情。仅用于显示属性,FL就足够了,并且更容易理解,用于学习目的,尽管gm肯定更全面!请记住,如果可以解决您的问题,最好使用get member
来显示属性(以及方法、事件等)@Kayasax我不确定我是否同意“更好”,它们可以做不同的事情。仅在显示属性时,FL就足够了,更容易理解,用于学习目的,尽管gm肯定更全面,我是通过Select String
,,仅引用Chris建议的类似公式的$
允许我再次使用split
方法。我正在通过Select String
传输内容,仅引用Chris建议的类似公式的$
允许我再次使用split
方法。