我正在使用psftp.exe
从服务器下载文件。我下载这些文件后是否有一种简单的方法可以删除这些文件,但下次下载时可能会留下服务器上可能出现的新文件?
这是我的命令行:
psftp.exe domain.com -i keys\private.ppk
get *.xml
编辑:我想将文件从Linux机器下载到Windows PC。
答案 0 :(得分:12)
psftp
没有简单的方法可以做到这一点。您必须解析其输出以查找已成功下载的文件。
虽然您可以使用WinSCP轻松完成此操作。只需使用get -delete *.xml
command。
完整的WinSCP脚本将是:
open sftp://domain.com/ -privatekey=keys\private.ppk -hostkey=...
get -delete *.xml
exit
查看introduction to WinSCP scripting。
另请参阅guide for converting PSFTP script to WinSCP。
您也可以为此WinSCP GUI generate script这样做。
(我是WinSCP的作者)
答案 1 :(得分:-1)
我会以不同的方式处理这个问题。不是从服务器中删除文件,而是将下载的文件名添加到“已下载文件”的本地表中。然后,当您再次扫描 FTP 以查找新文件时,忽略该表中的任何内容。
这样下次运行下载脚本时,您只会获得新文件,而旧文件仍保留在服务器上。
您可以使用另一个脚本来定期运行并删除超过特定期限的所有文件。
WINSCP 很好,Martin(作者)几乎会在每个 PuTTy 帖子中推荐它,但它是一个完全基于 GUI 的应用程序,不适合我。如果您确实需要在命令行上完成所有操作,那么 WINSCP 通常不是一个选项。