2

我的服务器机器有一个 Unix 操作系统。我可以使用 Tectia 的 scpg3 命令行将文件从我的 Unix 服务器下载到本地(Windows)机器。现在,我只想复制那些在特定日期上传(修改日期)的文件。

我在我的 VBScript 中使用 scpg3 的以下命令从服务器文件夹下载文件。它正在复制所有文件,但现在我想复制特定日期的文件。

Set oFTPScriptFSO = CreateObject("Scripting.FileSystemObject")

ioFTPScriptShell.Run "%comspec% /c scpg3 " & sUsername & "@" & remoteServer & ":" & sRemotePath & " " & strDirectory, 1, TRUE

珍惜你的时间。

4

1 回答 1

1

我不认为scpg3可以做到这一点。

如果您使用scpg3SFTP 协议,则可以改用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的作者)

于 2013-04-24T06:41:03.323 回答