【Windows】robocopyでユーザIDとパスワードが必要な共有フォルダに接続する方法

robocopyを実施する際、共有フォルダにアクセス時、パスワード認証が必要な場合があります。

そのような状況の時にバッチファイルへパスワード認証の設定の書き方をメモしておきます。

robocopyのバッチファイルの作成は以下のページも参考にしてください。

windows

「robocopy」で共有フォルダへのパスワード認証を設定した書き方

共有フォルダへのパスワード認証を実施した、接続方法として「net use」コマンドを実施します。

以下のバッチファイルではそれぞれの共有フォルダ(パスワード認証)へアクセスし、robocopyを実施するコマンドとなります。

※移行用robocopyのバッチファイル「test.cmd」

::既存共有フォルダA→移行先共有フォルダBへrobocopy

set src=\192.168.1.1共有log
set dst=\example.comlog
set log=C:UsersAdministratorDesktopWin_MV

net use %src% /user:<user-id> <password>
net use %dst% /user:<user-id> <password>

robocopy %src% %dst% /s /e /mir /r:1 /w:1 /LOG+:"%log%test_mirror.log"

pause

ファイルの冒頭に書かれている「::」はコメントアウトとなります。

各コマンドの説明は以下を参考にしてください。

「set」コマンドで変数を作成

3-5行目では「set」コマンドを実施し、ファイルパスをそれぞれ変数に変換しています。

  • robocopy元を「src」
  • robocopy先を「dst」
  • ログファイルを「log」

「user」オプションで共有フォルダ(パスワード認証)へアクセス

7-8行目で「user」コマンドを実行し、それぞれのコピー元と宛先(srcとdst)を指定し、ユーザーID・パスワードを記述します。

net use %src% /user:<user-id> <password>

これにより、事前に共有フォルダへのアクセスを許可しておきます。

最後にrobocopyを実施し、ログファイルを出力する

上記で共有フォルダへのアクセス許可が成功すれば後は以下コマンドで、robocopyを実行します。

robocopy %src% %dst% /s /e /mir /r:1 /w:1 /LOG+:"%log%test_mirror.log"

logは、ローカルPCにのフォルダに保存するようにしました。

「pause」コマンドはコマンドプロンプトを起動状態のままにしておく

最後に書かれている「pause」コマンドはバッチファイルが実行される際、コマンドプロンプトを落とさず、起動状態のままにしてくれます。

これを実行していると、バッチファイル実行時にどのエラーで処理が止まったのかも確認ができるので、必ず入れておきます。

共有フォルダへのパスワード認証とrobocopyを組み合わせたバッチファイルの書き方は以上となります。




エンジニアのオンライン学習

ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。

おすすめオンライン教材
自宅で学習ができるオンラインスクール

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。



コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUT US
げんき☆ひろき
インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!