Windows下コマンドライン+winscp linuxとのリモートファイル転送を実現
3189 ワード
WinSCPのインストール
WinSCPは、Windows環境で使用されるSSHのオープンソースグラフィックス化されたSFTPクライアントです.SCPプロトコルもサポートします.主な機能は、ローカルコンピュータとリモートコンピュータの間でファイルを安全にコピーし、ファイルを直接編集することです.-ダウンロード:https://winscp.net/eng/download.php-インストール
環境変数を設定してwinscpパスを追加
マイコンピュータを右クリック->プロパティの選択->高度なシステム設定の選択->システムプロパティ項目->高度な->環境変数->システム環境変数->PATH編集を選択値行の最後にセミコロンを付けます.「そしてwinscpのパスを入れて
もちろん、cdからwinscpへのインストール経路の下でwinscpを直接呼び出すこともできる.exeですが、コードでの一括処理は不便です.
winscpコマンドの使用
リファレンスhttps://www.cnblogs.com/binw/p/4065607.html
Windowsの下でcmdコマンドラインウィンドウを開くか、コードの中でコマンドラインを呼び出して、コマンドを使ってWindowsのファイルをlinuxにアップロードしたり、Linuxのファイルをダウンロードしたりすることができます.
1.アップロード
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
例:
winscp.exe /console /command "option batch continue" "option confirm off" "open sftp://ggg:ggg@[2001:25gg:1004:5043:ae1f:gggg:gggg:gggg]:22" "option transfer binary" "put D:\1.pdf /home/ggg/" "exit" /log=D:\log_file.txt
2.ダウンロード
winscp.exe /console /command "option batch continue" "option confirm off" "open sftp://user:pwd@ip:port" "option transfer binary" "get / D:\ \" "exit" /log=log_file.txt
例:
winscp.exe /console /command "option batch continue" "option confirm off" "open sftp://ggg:ggg@[2001:25gg:1004:5043:ae1f:gggg:gggg:gggg]:22" "option transfer binary" "get //home/gggy/1.pdf D:\" "exit" /log=D:\log_file.txt