如何使用Putty在命令行下载文件/压缩包?

5
我正在尝试编写一个批处理脚本 (CMD @ Windows XP Pro),利用7zip和putty/psftp自动下载和解压包。
如果我有一个要下载的包的URL,例如http://somesite.org/packages/package.zip,我该如何使用putty在命令行上下载它?
如果您有更好的方法,请告诉我。
6个回答

13
我当然可以提供一个显而易见的解决方案——使用wget,但我也建议看一下cURL。从他们的网站上可以得到以下信息:
curl是一个命令行工具,用于使用URL语法传输文件,支持FTP、FTPS、HTTP、HTTPS、SCP、SFTP、TFTP、TELNET、DICT、LDAP、LDAPS和FILE。curl支持SSL证书、HTTP POST、HTTP PUT、FTP上传、基于HTTP表单的上传、代理、cookies、用户+密码身份验证(Basic、Digest、NTLM、Negotiate、kerberos...)、文件传输恢复、代理隧道和许多其他有用的技巧。
当然,它是免费且开源的,尽管它支持的协议列表很长,但使用起来与wget一样简单,因此可以使用您的示例。
curl -O http://somesite.org/packages/package.zip 

将package.zip下载到本地文件,并使用相同的名称

curl -o myname.zip http://somesite.org/packages/package.zip 

下载 package.zip 并将其重命名为 myname.zip

curl http://somesite.org/packages/package.zip > package.zip 

将curl的标准输出重定向到package.zip文件。
编辑 - 示例已更正,感谢@PrabhakarKasi。

+1 for curl。我们这些经常使用Linux/Unix的人往往倾向于使用我们熟悉的工具,但这并不总是适用于Windows环境的最佳解决方案。 - Stefan Kendall
@Stefan cURL也存在于Linux/Unix下,事实上我最初在HP/UX下开始使用它来解决一些难以通过shell脚本进行ftp交换的问题。之后我发现它也适用于Windows :-) - fvu

2

2

Putty并不是一个下载工具,除非你想通过SCP/SFTP下载一些内容。因此,在这里wget更加有用。


1

我不熟悉putty,但是wget肯定可以。如果你使用的是Windows系统,你可以通过cygwin获得它,或者只需搜索Win32版本即可。


0
使用 PuTTY 自带的 pscp:
pscp user@host:/path/to/file.7z .
7z e file.7z

如果您使用 SSH keys 进行设置,pscp 就不会要求您输入密码。

0

pscp.exe -pw yourpassword you@somesite.org:/packages/package.zip .\

/packages/package.zip 的路径应该是服务器上公共网页文件的路径。例如,在某些旧的Apache服务器上,它可能是:

pscp.exe -pw yourpassword you@somesite.org:/users/httpd/vhosts/default/packages/package.zip .\


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接