简单的 PowerShell 脚本。它可以毫无问题地下载文件(二进制)。我需要它的ascii 格式。
$File = "c:\temp\ftpfile.txt"
$ftp = "ftp://myusername:[email protected] /cdn-cgi/l/email-protection/'report'";
$webclient = New-Object -TypeName System.Net.WebClient;
$uri = New-Object -TypeName System.Uri -ArgumentList $ftp;
$webclient.DownloadFile($uri, $File);
The WebClient
不支持ascii/text FTP 模式。
Use FtpWebRequest https://learn.microsoft.com/en-us/dotnet/api/system.net.ftpwebrequest相反并设置.UseBinary https://learn.microsoft.com/en-us/dotnet/api/system.net.ftpwebrequest.usebinary为假。
$File = "c:\temp\ftpfile.txt"
$ftp = "ftp://myusername:[email protected] /cdn-cgi/l/email-protection/'report'";
$ftprequest = [System.Net.FtpWebRequest]::Create($ftp)
$ftprequest.Method = [System.Net.WebRequestMethods+Ftp]::DownloadFile
$ftprequest.UseBinary = $false
$ftpresponse = $ftprequest.GetResponse()
$responsestream = $ftpresponse.GetResponseStream()
$targetfile = New-Object IO.FileStream($File, [IO.FileMode]::Create)
$responsestream.CopyTo($targetfile)
$targetfile.close()
参考:在 PowerShell 中自动化安全 FTP 的最佳方法是什么? https://stackoverflow.com/q/265339/850848
请注意,WebClient
使用FtpWebRequest
内部,但不暴露其.UseBinary
财产。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)