WinSCP自動執行腳本


我們經常使用WinSCP工具通過sftp協議上傳獲取文件,本文描述通過bat批量處理文件。

首先,我們打開dos命令窗口使用 cd \d :D\WinSCP 打開WinSCP安裝目錄

上傳文件:

winscp.exe /console /command "option batch continue" "option confirm off" "open sftp://user:pwd@ip:port" "option transfer binary" "put D:\需要上傳的文件路徑 /服務器文件存放目錄" "exit" /log=log_file.txt

這里為了方便理解,一一解釋。

winscp421.exe /console /command     命令名
 "option batch continue"           默認批處理  
 "option confirm off"             關閉提示信息
"open ftp://user:pwd@ip:port"  user:訪問用戶名 ,pwd:用戶密碼 ,ip:ip地址,port:端口號  默認22
"option transfer binary"   使用二進制格式傳送

log=log_file.txt 日志文件地址
 "exit"                     ::執行完命令后退出 

注意:以上 command 后的都為參數 需在一行體現  如想分開寫 可把命令單獨放到一個文件

如:aa.txt

option echo off
option transfer binary
open <sftp_or_ftp>://<user>:<password>@<host_ip>:<port> -privatekey <private_key_file>
cd <remote_dir>
put *.doc
exit

用命令執行該腳本:winscp /script=aa.txt /ini=<WinSCP.ini_location> /log=<log_file>
如果需要配置傳輸參數,在WinSCP.ini配置,例如PreserveTime=0保持源文件的時間戳

 

下載文件:

一下是下載文件代碼,同上傳一樣,如需單獨寫腳本可 用如上方式單獨保存腳本執行。

CD /d D:\WinSCP
winscp.exe /console /command "option batch continue" "option confirm off" "open sftp://root:root@xx.xx.xx.xx:22" "option transfer binary" "get /test.txt D:\sftptest\" "exit" /log=D:\sftptest\log.txt

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM