gpt4 book ai didi

command-line - 如何编写FTP上传和下载脚本

转载 作者:行者123 更新时间:2023-12-03 07:22:25 28 4
gpt4 key购买 nike

我正在尝试制作一个批处理文件以将文件上传到 FTP 服务器。如果我手动输入它,它可以正常工作,但是当我运行批处理文件时,它会在连接后停止......它说:

connected to domain.com.

220 microsoft ftp server

User(domain.com:(none)):

然后就没有别的了。这是怎么回事?

下面是我的批处理文件:

ftp www.domainhere.com

user useridhere

passwordhere

put test.txt

bye

pause

最佳答案

想要按照原发者想象的方式编写 FTP session 脚本是一个合理的想法,而这就是这种事情 Expect会有所帮助。 Windows 上的批处理文件无法执行此操作。

但是,您可能会发现使用 PowerShell 编写 FTP 交互脚本比执行 cURL 或 Expect 更容易。这是一种不同的模型,因为您不是直接编写要发送到 FTP 服务器的文本脚本。相反,您将使用 PowerShell 来操作为您生成 FTP 对话的对象。

上传:

$File = "D:\Dev\somefilename.zip"
$ftp = "ftp://username:password@example.com/pub/incoming/somefilename.zip"

"ftp url: $ftp"

$webclient = New-Object System.Net.WebClient
$uri = New-Object System.Uri($ftp)

"Uploading $File..."

$webclient.UploadFile($uri, $File)

下载:

$File = "c:\store\somefilename.zip"
$ftp = "ftp://username:password@example.com/pub/outbound/somefilename.zip"

"ftp url: $ftp"

$webclient = New-Object System.Net.WebClient
$uri = New-Object System.Uri($ftp)

"Downloading $File..."

$webclient.DownloadFile($uri, $File)

您需要 PowerShell 才能执行此操作。如果您不知道,PowerShell 是一个类似于 cmd.exe 的 shell,它运行您的 .bat 文件。但 PowerShell 运行 .ps1 文件,并且功能更强大。 PowerShell 是 Windows 的免费附加组件,并将内置于 future 版本的 Windows 中。 Get it here .

来源:http://poshcode.org/1134

关于command-line - 如何编写FTP上传和下载脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/936108/

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