Batch file 自动化WinSCP以获取远程目录中的文件列表
我读过很多关于WinSCP自动化的书,但其中一些我很难理解,因为它假定了其他方面的知识,如.NET汇编、PowerShell等 我想知道,严格地说,用VBScript和批处理文件类型的行话来说,一旦我下载了portableBatch file 自动化WinSCP以获取远程目录中的文件列表,batch-file,vbscript,winscp,Batch File,Vbscript,Winscp,我读过很多关于WinSCP自动化的书,但其中一些我很难理解,因为它假定了其他方面的知识,如.NET汇编、PowerShell等 我想知道,严格地说,用VBScript和批处理文件类型的行话来说,一旦我下载了portablewinscp.exe,如何简单地打开远程站点,给出用户名和密码,并下载特定目录中的文件列表。仅限FTP协议 有一个: 运行脚本(list.wsf),如下所示: 当然,您也可以像这样运行winscp.com: 有关此方法的更多详细信息,请参阅 <job>
winscp.exe
,如何简单地打开远程站点,给出用户名和密码,并下载特定目录中的文件列表。仅限FTP协议 有一个:
list.wsf
),如下所示:
当然,您也可以像这样运行
winscp.com
:
有关此方法的更多详细信息,请参阅
<job>
<reference object="WinSCP.Session"/>
<script language="VBScript">
Option Explicit
' Setup session options
Dim sessionOptions
Set sessionOptions = WScript.CreateObject("WinSCP.SessionOptions")
With sessionOptions
.Protocol = Protocol_Ftp
.HostName = "ftp.example.com"
.UserName = "user"
.Password = "mypassword"
End With
Dim session
Set session = WScript.CreateObject("WinSCP.Session")
' Connect
session.Open sessionOptions
Dim directoryInfo
Set directoryInfo = session.ListDirectory("/remote/path")
Dim fileInfo
For Each fileInfo In directoryInfo.Files
WScript.Echo fileInfo.Name & " with size " & fileInfo.Length & _
", permissions " & fileInfo.FilePermissions & _
" and last modification at " & fileInfo.LastWriteTime
Next
' Disconnect, clean up
session.Dispose
</script>
</job>
cscript list.wsf
Set shell = CreateObject("WScript.Shell")
Set exec = shell.Exec("winscp.com /command ""open ftp://username:password@ftp.example.com/"" ""ls /remote/path"" ""exit""")
WScript.Echo(exec.StdOut.ReadAll())