从 SFTP 文件夹复制和删除文件
Copy and delete files from SFTP folder
我必须从 SFTP 位置选择(删除)文件掩码为 FileName_A_*
和 FileName_B_*
的文件,并将它们放在共享驱动器中。
我尝试使用 WinSCP。我用下面的代码创建了一个 HourlyFile.txt
文件并将其放在 C:\Program Files (x86)\WinSCP
下。另一个批处理文件 HourlyFile.bat
从 HourlyFile.txt
执行脚本
HourlyFile.txt:
option batch abort
option confirm off
open sftp..........
get -filemask="FileName_A_*" /outbound/test/* \sharedrive
get -filemask="FileName_B_*" /outbound/test/* \sharedrive
del /outbound/test/FileName_A_*
del /outbound/test/FileName_B_*
exit
HourlyFile.bat:
winscp.com /script=HourlyFile.txt
pause
我尝试使用以下选项删除文件,但收到错误消息 “未知命令”。另外,上面的代码是从 /outbound/test/
复制子文件夹,它不应该。
尝试过的命令:
del /outbound/test/FileName_A_*
-del /outbound/test/FileName_A_*
delete /outbound/test/FileName_A_*
delete /outbound/test/FileName_A_20190604_090002
delete /outbound/test/FileName_A_20190604_090002.csv
如果要下载和删除文件,最好使用-delete
switch of the get
command。这样,您可以确保 WinSCP 只删除那些真正成功下载的文件。
get -delete /outbound/test/FileName_A_* \sharedrive\
get -delete /outbound/test/FileName_B_* \sharedrive\
参见 WinSCP 文章 How do I create script that synchronizes files and deletes synchronized files from source afterward?
回答你的字面问题:WinSCP 没有 del
命令。 WinSCP 有 rm
command:
rm /outbound/test/FileName_A_*
rm /outbound/test/FileName_B_*
在某些 Unix 服务器上,通配符命令为:
mrm /outbound/test/FileName_A_*
,在活动中
rm /outbound/test/FileName_A_*
不起作用,返回错误:
rm: 访问失败:找不到文件 (/outbound/test/FileName_A_*)
我必须从 SFTP 位置选择(删除)文件掩码为 FileName_A_*
和 FileName_B_*
的文件,并将它们放在共享驱动器中。
我尝试使用 WinSCP。我用下面的代码创建了一个 HourlyFile.txt
文件并将其放在 C:\Program Files (x86)\WinSCP
下。另一个批处理文件 HourlyFile.bat
从 HourlyFile.txt
HourlyFile.txt:
option batch abort
option confirm off
open sftp..........
get -filemask="FileName_A_*" /outbound/test/* \sharedrive
get -filemask="FileName_B_*" /outbound/test/* \sharedrive
del /outbound/test/FileName_A_*
del /outbound/test/FileName_B_*
exit
HourlyFile.bat:
winscp.com /script=HourlyFile.txt
pause
我尝试使用以下选项删除文件,但收到错误消息 “未知命令”。另外,上面的代码是从 /outbound/test/
复制子文件夹,它不应该。
尝试过的命令:
del /outbound/test/FileName_A_*
-del /outbound/test/FileName_A_*
delete /outbound/test/FileName_A_*
delete /outbound/test/FileName_A_20190604_090002
delete /outbound/test/FileName_A_20190604_090002.csv
如果要下载和删除文件,最好使用-delete
switch of the get
command。这样,您可以确保 WinSCP 只删除那些真正成功下载的文件。
get -delete /outbound/test/FileName_A_* \sharedrive\
get -delete /outbound/test/FileName_B_* \sharedrive\
参见 WinSCP 文章 How do I create script that synchronizes files and deletes synchronized files from source afterward?
回答你的字面问题:WinSCP 没有 del
命令。 WinSCP 有 rm
command:
rm /outbound/test/FileName_A_*
rm /outbound/test/FileName_B_*
在某些 Unix 服务器上,通配符命令为:
mrm /outbound/test/FileName_A_*
,在活动中
rm /outbound/test/FileName_A_*
不起作用,返回错误:
rm: 访问失败:找不到文件 (/outbound/test/FileName_A_*)