我的服务器机器有一个Unix操作系统。我可以使用Tectia的scpg3命令行从Unix服务器下载文件到本地(windows)机器。现在,我想只复制那些在特定日期上传(修改日期)的文件。
我在我的VBScript中使用scpg3的下面命令从服务器文件夹下载文件。它正在复制所有文件,但现在我想复制特定日期的文件。
Set oFTPScriptFSO = CreateObject("Scripting.FileSystemObject")
ioFTPScriptShell.Run "%comspec% /c scpg3 " & sUsername & "@" & remoteServer & ":" & sRemotePath & " " & strDirectory, 1, TRUE
感谢您的时间。
答案 0 :(得分:1)
我不认为scpg3
可以做到这一点。
如果您使用scpg3
作为SFTP协议,则可以使用WinSCP代替:
ioFTPScriptShell.Run "%comspec% /c winscp.com /command ""option batch abort""" _
& " ""option confirm off""" _
& " ""open sftp://" & sUsername & "@" & remoteServer & """" _
& " ""get -filemask=*>=2013-04-23<2013-04-24 " & sRemotePath _
& " " & strDirectory & """", 1, TRUE
请注意-filemask=*>=2013-04-23<2013-04-24
命令的get
开关。
详情请见:
https://winscp.net/eng/docs/guide_automation
https://winscp.net/eng/docs/file_mask#size_time
或者,您可以考虑直接从VBScript使用WinSCP .NET / COM库:
https://winscp.net/eng/docs/library
https://winscp.net/eng/docs/library_com_wsh
(我是WinSCP的作者)