Windows下コマンドライン+winscp linuxとのリモートファイル転送を実現

3189 ワード

WinSCPのインストール


WinSCPは、Windows環境で使用されるSSHのオープンソースグラフィックス化されたSFTPクライアントです.SCPプロトコルもサポートします.主な機能は、ローカルコンピュータとリモートコンピュータの間でファイルを安全にコピーし、ファイルを直接編集することです.-ダウンロード:https://winscp.net/eng/download.php-インストール

環境変数を設定してwinscpパスを追加

  • 参照https://jingyan.baidu.com/article/4f7d5712ce8c1f1a201927fa.html

  • マイコンピュータを右クリック->プロパティの選択->高度なシステム設定の選択->システムプロパティ項目->高度な->環境変数->システム環境変数->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
  • winscp421.exe/console/commandコマンド名
  • 「option batch continue」デフォルトバッチ
  • 「option confirm off」クローズプロンプト
  • “open sftp://user:pwd@ip:port"user:アクセスユーザー名、pwd:ユーザーパスワード、ip:ipアドレス、port:ポート番号デフォルト22.IPv 6アドレスは[]で囲む必要があります
  • 「option transfer binary」バイナリ形式で
  • を転送する.
  • log=log_file.txtログファイルアドレス
  • 「exit」::コマンドを実行した後、
  • を終了します.

    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