2024-05-14


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はカラのフォルダもコピーするオプション。
※本記事内容の無断転載を禁じます。
ご連絡は以下アドレスまでお願いします★
オープンソースリップシンクエンジンSadTalkerをDebianで動かす
ファイアウォール内部のOpenAPI/FastAPIのdocsを外部からProxyPassで呼ぶ
Debian 12でsshからshutdown -h nowしても電源が切れない場合
【Windows&Mac】アプリのフルスクリーンを解除する方法
Debian 12でtsコマンドが見つからないcommand not found
Debian 12でsyslogやauth.logが出力されない場合
Debian 12で固定IPアドレスを使う設定をする
Debian 12 bookwormでNVIDIA RTX4060Ti-OC16GBを動かす
【Debian】apt updateでCD-ROMがどうのこうの言われエラーになる場合
【Windows10】リモートデスクトップ間のコピー&ペーストができなくなった場合の対処法
Windows11+WSL2でUbuntuを使う【2】ブリッジ接続+固定IPの設定
【Apache】サーバーに同時接続可能なクライアント数を調整する
GitLabにHTTPS経由でリポジトリをクローン&読み書きを行う
【C/C++】小数点以下の切り捨て・切り上げ・四捨五入
Intel Macbook2020にBootCampで入れたWindows11 Pro 23H2のBluetoothを復活させる
【PHP】Mail/mimeDecodeを使ってメールの中身を解析(準備編)
【ひかり電話+VoIPアダプタ】LANしか通ってない環境でアナログ電話とFAXを使う
Windows11のコマンドプロンプトでテキストをコピーする