2025-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はカラのフォルダもコピーするオプション。
※本記事内容の無断転載を禁じます。
ご連絡は以下アドレスまでお願いします★
マイクで喋った日本語をテキスト変換+音声合成しOBS Studioで配信する
マイクで喋った日本語をテキスト変換してOBS Studioにリアルタイムで表示する【3】
マイクで喋った日本語をテキスト変換してOBS Studioにリアルタイムで表示する【2】
マイクで喋った日本語をテキスト変換してOBS Studioにリアルタイムで表示する【1】
Raspberry PI 2 bookworm 32bitでCanon IP4300プリンタ印刷する
【VMware】Apple silicon M2 MacでWindows11を無償で動かす
A4用紙タテ2ページ分をA3用紙ヨコ1ページに印刷するには
【Android】apkのインストールができたのにアプリ一覧に出ない場合
【Node.js】chrono-nodeを使用して自然言語を日付に変換する
進研ゼミチャレンジタッチをAndroid端末化する
Googleファミリーリンクで子供の端末の現在地がエラーで取得できない場合
Windows11+WSL2でUbuntuを使う【2】ブリッジ接続+固定IPの設定
【Linux】viエディタが文字化けする場合の対処法
CUDA13環境下でGPU使用版のPyTorchを導入する
【Apache】サーバーに同時接続可能なクライアント数を調整する
Windows版Google Driveが使用中と言われアンインストールできない場合
タスクスケジューラで変更を適用できません。ユーザーアカウントが不明であるか、パスワードが正しくないか、またはユーザーアカウントにタスクを変更する許可がありません。と出た
Node.jsからPostgreSQLサーバに接続・操作する