У меня была проблема, когда у меня не было разрешения на удаление \ переименование файла через удаленный сервер, и файлы содержат метку времени.Поэтому мне нужно было скачивать файлы по имени.Psftp не может принимать параметры (или каким-либо другим способом, о котором я знал), и я не мог динамически изменять имена файлов в соответствии с текущей датой.
Итак, из пакетного файла, который я вызываюКоманды psftp Я создал команды динамически и с файлом с соответствующей отметкой времени.Я мог бы копировать только сегодняшние файлы, что лучше, чем копировать каждый раз каждый раз.
cd "C:\CX\FTP\IG\Files"
echo cd outbound > C:\SFTP\temp.txt
echo mget file_%date:~10,4%%date:~4,2%%date:~7,2%*.csv >> C:\SFTP\temp.txt
echo quit >> C:\SFTP\temp.txt
echo close >> C:\SFTP\temp.txt
C:\SFTP\psftp cellxpert-prod@ftp.nadex.com -b C:\SFTP\temp.txt
close
exit
"echo cd outbound> C: \ SFTP \ temp.txt" очистил старый файл и начал писать содержимоенового файла."Echo mget file_% date: ~ 10,4 %% date: ~ 4,2 %% date: ~ 7,2% .csv >> C: \ SFTP \ temp.txt" привело к созданиюкоманда: "mget file_20151008 .csv", которая загружает все файлы, которые начинаются с "file_20151008 ...", следующие 2 строки только что завершили действие, а строка "C: \ SFTP \ psftp cellxpert-prod@ftp.nadex.com -b C: \ SFTP \ temp.txt "выполнить его.
, так как результаты temp.txt выглядят так:
cd outbound
mget file_20151008*.csv
quit
close