3

我在尝试将 sftp 服务器上的目录列出到本地 .txt 文件时遇到问题。

我需要使用命令行。所以我发现腻子几乎是唯一可以做到这一点的客户。

所以,使用腻子我开始努力解决这个问题。我设法列出了我想要的目录(在 psftp 和 pscp 中),它们是 putty sftp 客户端和 putty 安全文件上传/下载客户端。

在 pscp.exe 时使用此脚本(对于 .bat 脚本):

start /WAIT D:\pscp.exe -sftp -v -batch -pw password -ls username@server.host:/directory/subdirectory/subdirectory

这列出了目录。我尝试将“C:\filelist.txt”添加到它的末尾,但这只会创建一个空的本地文件,目录没有在其中列出。

并在 psftp.exe 时使用此脚本(也适用于 .bat 脚本):

start /WAIT D:\psftp.exe username@server.host -v -be -bc -batch -pw password -b D:\listcommands.scr

在 psftp 中调用 listcommand.scr 以启动更多命令的地方,它包含:

ls /directory/subdirectory/subdirectory > D:\listdir.txt

但两者都不会将目录列表写入本地 .txt 文件。psftp.exe 命令甚至不会像 pscp.exe 命令那样创建一个空的 .txt 文件。listcommands.scr 命令在没有“>”的情况下也不起作用。

感谢任何对此有任何帮助的人。

4

1 回答 1

4

我认为“filelist.txt”文件是空的,因为您正在生成一个新命令,结果是psftp命令的输出被写入与您重定向到文件的标准输出不同的标准输出。

我刚刚尝试过start /WAIT D:\pscp.exe -sftp -v -batch -pw password -ls username@server.host:/directory/subdirectory/subdirectory > c:\filelist.txt,我也得到了一个空文件,但是如果我start /WAIT从命令行中删除 filelist.txt 现在包含正确的输出。

于 2013-04-21T18:50:57.433 回答