gpt4 book ai didi

powershell - $string.IndexOf ('.' ) 在 powershell 函数中返回方法调用失败

转载 作者:行者123 更新时间:2023-12-04 22:32:07 24 4
gpt4 key购买 nike

Function doSomething($param1 $param2 $file)
{
...doing stuff
$pos = $file.IndexOf('.')
}

doSomething -param1 'stuff' -param2 'more stuff' -file 'C:\test.txt'

返回错误:方法调用失败,因为 [System.IO.FileInfo] 不包含名为“IndexOf”的方法。

但是在函数外部或从命令行调用它没有问题。

这是powershell的限制还是在powershell函数中调用字符串函数有一些技巧?

谢谢您的帮助!

最佳答案

IndexOfstring 类型的方法.我怀疑在 ...doing stuff 的某个地方,您正在操作 $file以这种方式将其视为 System.IO.FileInfo .

我怀疑这部分是因为我试图在我的环境中复制它并让它工作:

function doSomething ($file) 
{
# This gets the index of . in 'C:\test.txt', which should be at position 7.
$pos = $file.IndexOf('.')
$pos
$file.GetType()
}
doSomething -file 'C:\test.txt'
7

IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object

您是否在操作 $file还是用它来修改其他文件?如果您是并且不介意对象是 [System.IO.FileInfo] ,您可以使用 $file.fullname取回您的路径字符串。这假设您没有修改它使其成为 FileInfo 对象的集合。

关于powershell - $string.IndexOf ('.' ) 在 powershell 函数中返回方法调用失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18994535/

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