我有,我沒有刪除權限的問題\在遠程服務器和重命名文件文件包含時間戳。 所以我需要按名稱下載文件。 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 [email protected] -b C:\SFTP\temp.txt
close
exit
「echo cd出站> 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 [email protected] -b C:\ SFTP \ temp.txt「執行它。
作爲結果TEMP.TXT看起來像這樣:
cd outbound
mget file_20151008*.csv
quit
close
-1:這不是完全自動的:提示示出第一次的連接被打開。如果有人碰巧清除緩存,您的程序將中斷。依靠這不發生是不好的! – ya23