gpt4 book ai didi

batch-file - 在 PSFTP 中使用 'for' 命令查找并下载 SFTP 服务器上的最新文件

转载 作者:行者123 更新时间:2023-12-02 00:52:22 27 4
gpt4 key购买 nike

我已按照以下指南设置 SSIS 程序包以检索位于 SFTP 服务器上的文本文件:

https://www.mssqltips.com/sqlservertip/3435/using-sftp-with-sql-server-integration-services/

总而言之,SSIS 程序包执行 PSFTP.exe(一种 PuTTY 工具),它需要必要的凭据才能连接到服务器。它还需要一个在连接后执行的批处理文件。该批处理文件包含检索所需文本文件的命令。从指南开始,它只包含一个用于更改目录的 cmd 命令和一个用于检索文件的 get 命令:

cmd DataDump
get TeleMarketingResults.txt

所有这些工作正常。

当我试图使这个批处理文件逻辑更复杂时出现问题,因为它似乎无法识别基本关键字。例如,我想修改它以检索最新的文件,所以我尝试添加:

for /f %%i in ('dir /b/a-d/od/t:c') do set LAST=%%i
echo The most recently created file is %LAST%

但是我得到了这些错误:

psftp: unknown command "for"
psftp: unknown command "echo"

如果我在本地目录中手动执行批处理文件,它就可以工作。仅当将其作为参数传递给 PSFTP.exe 时才会出现此问题。这是为什么?

最佳答案

psftp 脚本文件只能包含 psftp 命令。 forsetdir 不是 psftp 命令。

几乎没有任何合理的方法可以使用 psftp 检索最新文件。您必须分两步完成。首先检索列表并将其存储到文件中。然后使用一些智能批处理文件命令解析该文件以查找最新文件。然后再次运行 psftp 以下载该文件。它既麻烦又低效,因为它需要两个连接。

你最好使用更强大的 SFTP 客户端。例如,我的 WinSCP SFTP client 很简单.见

关于batch-file - 在 PSFTP 中使用 'for' 命令查找并下载 SFTP 服务器上的最新文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56653880/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com