2023-05-15
rsyncは最古のコマンドにして現在なお最速のファイルコピーコマンド(多分)であるので、Windowsでも使いたいが、単体では用意されていないらしい。
ので、Debianのapt-get感覚でWindowsで使えるChocolateyというパッケージ管理ツールがあるらしいのでまずそれを導入し、そこからrsyncを入れることにする。
Chocolateyのインストール
公式サイト
https://chocolatey.org/install#installing-chocolatey
へ行き、Individual→InstallにあるPowerShellスクリプトをコピーする。
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
スタートメニュー→Windows PowerShell→Windows PowerShellを右クリックして「管理者として実行」する
公式サイトからコピーしたスクリプトをCtrl + Vで貼り付けてPowerShellで実行する。
自動でインストールが始まって、導入完了
rsyncのインストール
そのままPowerShell上でchoco installする。
choco install rsync
インストールしますか?の英語に「Yes」と打ってインストール完了。
ファイルコピーを試す
そのままPowerShell上でrsyncコマンドを使ってみる。
Linuxのrsyncと全く同じに使えるが、ローカルファイル(自分のWindowsPC内ファイル)を指定する場合、/cygdrive/をつけなくてはならないという謎のcygwinルールが存在する。
例1:「C:¥てすとふぉるだ」の内容を「D:¥」ドライブ直下にコピーする
rsync -av /cygdrive/c/てすとふぉるだ /cygdrive/d/
-vは詳細情報を出力するオプション。うっとうしければ-aのみでよい。
例2:「C:¥TestFolder」の内容をリモートサーバ「111.212.11.33:/home/hogeuser」にコピーする
rsync -av -e "ssh -i /cygdrive/c/my/ssh_private_key" /cygdrive/c/TestFolder hogeuser@111.212.11.33:/home/hogeuser
-eオプション以下ダブルクオテーションでsshコマンドのオプションを指定。ここでは秘密鍵ファイルを指定している。
なおWindowsで単純にCUIコピーを行うならrobocopyというコマンドも一応標準である。
robocopy 元フォルダ 宛先フォルダ /s /e
/sはサブディレクトリ以下も再帰的にコピーするオプション、/eはカラのフォルダもコピーするオプション。
※本記事内容の無断転載を禁じます。
ご連絡は以下アドレスまでお願いします★
☆ServerNote.NETショッピング↓
ShoppingNote / Amazon.co.jp
☆お仲間ブログ↓
一人社長の不動産業務日誌
【VOICEBOX Engine】403 Forbidden Origin not allowedの対処法
【Python urllib】Proxy URL had no scheme, should start with http:// or https://の対処法
FirebaseでiOSアプリにプッシュ通知機能を実装する【3】
FirebaseでiOSアプリにプッシュ通知機能を実装する【2】
FirebaseでiOSアプリにプッシュ通知機能を実装する【1】
Apple Push Services: この証明書は信頼されていません【対処法】
OpenAI Assistants APIメモ【4】スレッドの一覧表示と削除
OpenAI Assistants APIメモ【3】GPT-3.5およびGPT-4のアシスタントが質問に回答する
OpenAI Assistants APIメモ【2】GPT-3.5およびGPT-4のアシスタントを作成
【Windows10】リモートデスクトップ間のコピー&ペーストができなくなった場合の対処法
Windows版Google Driveが使用中と言われアンインストールできない場合
【C/C++】小数点以下の切り捨て・切り上げ・四捨五入
Googleファミリーリンクで子供の端末の現在地がエラーで取得できない場合
Androidホームで左にスワイプすると出てくるニュース共を一切表示させない方法
Windows11+WSL2でUbuntuを使う【2】ブリッジ接続+固定IPの設定
【Apache】サーバーに同時接続可能なクライアント数を調整する
Googleスプレッドシートで図形をコピーして使いまわすには
Gmailのプロモーションメールをすべて削除する方法