Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于PowerShell中的扩展名从FTP下载文件_Powershell_Ftp_Wildcard - Fatal编程技术网

基于PowerShell中的扩展名从FTP下载文件

基于PowerShell中的扩展名从FTP下载文件,powershell,ftp,wildcard,Powershell,Ftp,Wildcard,已使用以下链接监视FTP文件夹并从中下载文件: 我只需要下载.xml文件 我对PowerShell非常陌生,有什么简单的东西我不知道吗 if ($line -ne ''| $_.extension -eq '.bpxml-2014' -or $_.extension -eq '.xml') { } $line的文件名带有扩展名。如何检查它是否具有扩展名?Windows包含命令行FTP客户端。它可以使用命令脚本运行。使用-s开关指定脚本文件 像mget*.xml这样的命令应该是一个好的开始

已使用以下链接监视FTP文件夹并从中下载文件:

我只需要下载
.xml
文件

我对PowerShell非常陌生,有什么简单的东西我不知道吗

if ($line -ne ''| $_.extension -eq '.bpxml-2014' -or $_.extension -eq '.xml') 
{ 
}

$line
的文件名带有扩展名。如何检查它是否具有扩展名?

Windows包含命令行FTP客户端。它可以使用命令脚本运行。使用
-s
开关指定脚本文件

像mget*.xml这样的命令应该是一个好的开始。

使用

if ($line -Like "*.xml" -or $line -Like ".bpxml-2014")
{
    ...
}

有关完整示例,请参见


或者,请参阅使用PowerShell脚本中使用的WinSCP.NET程序集的(我的)解决方案:


只需使用下载匹配文件。

我没有真正的FTP测试,但您可以使用
Where Object{$\ like“*.xml”}
过滤
getfilelistasarray
的结果,其中Object{$\ like“*.xml”}可能?@Matt请查看我的编辑
如果($line-match”\(bpxml-2014 | xml)$”{/code>,则返回false:(即使$line是text22232.bpxml-2014Well
“text2232.bpxml-2014”-match“\(bpxml-2014 | xml)$”
对我来说返回true。这个
$line.GetType().FullName的结果是什么?这看起来与FTP无关