首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到类型[WinSCP.EnumerateOptions]

找不到类型[WinSCP.EnumerateOptions]
EN

Stack Overflow用户
提问于 2018-12-07 16:35:22
回答 2查看 242关注 0票数 1

我正在使用WinSCP在PowerShell中管理文件。在使用WinSCP网站提供的标准脚本时,我得到了以下错误:

找不到WinSCP.EnumerateOptions类型。

我是在5.13版工作-新鲜的网站。

代码语言:javascript
复制
$remotePath = "ftp://username:password@network:port/relevantfolder/"
$localPath = "C:/Users/me/localdir"
$mask = "*.*"

$files = EnumerateRemoteFiles(
             $remotePath, $mask, [WinSCP.EnumerateOptions]::AllDirectories)

foreach ($fileInfo in $files)
{
    Write-Host "Downloading $($fileInfo.FullName) ..."
    $filePath = [WinSCP.RemotePath]::EscapeFileMask($fileInfo.FullName)
    $session.GetFiles($filePath, $localPath + "\*").Check() 
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-07 17:57:59

  1. 我是EnumerationOptions,不是EnumerateOptions
  2. Session.EnumerateRemoteFiles是一个方法,所以您需要在 instance上调用它。
  3. Session.EnumerateRemoteFiles路径,而不是URL: $remotePath =“/关联文件夹/”
票数 3
EN

Stack Overflow用户

发布于 2018-12-07 18:16:43

补充Martin Prikryl's effective solution

您的问题归结于错误地记住了类型名称,在PowerShell中,它直到运行时才会出现。

但是,您可以通过PowerShell的选项卡完成,来缓解这个问题:

代码语言:javascript
复制
[winscp.enumerate<tab> # NO completion, because no such type exists.

[winscp.enumeration<tab> # -> completion to [WinSCP.EnumerationOptions]

请注意,completion 甚至没有名称空间组件(例如[enumerationo<tab>])就能工作,但是使用短的或公共的名称前缀可以循环通过许多匹配。

相反,如果 not 发生,则可能的原因是:

  • 实现目标类型的程序集尚未加载到会话中。
代码语言:javascript
复制
- Use `Add-Type -Path` / `Add-Type -AssemblyName` to load it or `Import-Module`, if it comes with a module.

  • 您错误地键入了类型名称(前缀)。
代码语言:javascript
复制
- Experiment with variants using tab completion or consult the docs.

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53673540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档