Скопируйте и удалите файлы из папки SFTP - PullRequest
1 голос
/ 11 июня 2019

Я должен выбрать (удалить) файлы с маской FileName_A_* и FileName_B_* из SFTP-местоположения и поместить их в sharedrive.

Я пытался использовать 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

1 Ответ

0 голосов
/ 12 июня 2019

Если вы хотите скачать и удалить файлы, вам лучше использовать -delete переключатель get команды . Таким образом, вы можете быть уверены, что WinSCP удаляет только те файлы, которые действительно были успешно загружены.

get -delete /outbound/test/FileName_A_* \\sharedrive\
get -delete /outbound/test/FileName_B_* \\sharedrive\

Чтобы ответить на ваш буквальный вопрос: WinSCP не имеет команды del. WinSCP имеет rm команду :

rm /outbound/test/FileName_A_*
rm /outbound/test/FileName_B_* 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...