我正在PowerShell中使用WinSCP来管理FTP中的文件。在使用WinSCP网站上给出的标准脚本时,出现此错误:
找不到类型[WinSCP.EnumerateOptions]。
我正在使用5.13版-刚从站点开始。
var_dump($user_found);
var_dump($return);
die();
答案 0 :(得分:3)
它是EnumerationOptions
,而不是EnumerateOptions
。
Session.EnumerateRemoteFiles
是一种方法,因此您需要在Session
instance上调用它。
path
argument of Session.EnumerateRemoteFiles
是路径,而不是URL:
$remotePath = "/relevantfolder/"
答案 1 :(得分:2)
要互补 Martin Prikryl's effective solution:
您的问题归结为错误记住类型名称,该类型名称在PowerShell中直到 runtime 才会出现。
您可以使用PowerShell的标签完成来缓解该问题,,但是:
[winscp.enumerate<tab> # NO completion, because no such type exists.
[winscp.enumeration<tab> # -> completion to [WinSCP.EnumerationOptions]
请注意,补全即使在没有名称空间组件的情况下也可以(例如[enumerationo<tab>]
)使用,但是使用短或通用名称前缀时,可能会有很多匹配项需要循环。
相反,如果未完成完成 ,则可能的原因是:
实现目标类型的程序集尚未加载到会话中。
Add-Type -Path
/ Add-Type -AssemblyName
加载它;如果模块随附Import-Module
,则使用**201601** **201602** **201603**
100 200 500
。您输错了类型名称(前缀)。