2023年1月26日木曜日

Robocopy の ジョブファイル に関して

Robocopy の ジョブファイル に関して、です。
.batch File にする 手 もある訳ですが、
Robocopy 自体にある 類似機能 を使うのも良いですね。
テキストファイルですから、閲覧や編集も どんとこい! です。


Robocopy には ジョブファイル と言う仕組みがあります。
何時も同じ送り先にファイルをコピーするのなら、
此れを作って置けば楽かもですね。
但し、
ファイルの命名を変更したりすれば、
別のものとして扱われますから、
其の点には留意が必要です。

初回に、
通常の Robocopy Command の 最後 に、
 /SAVE:<file> の オプション を付けて実行します。
まぁ、安全を期して、
<file> の文字列中に " " 半角スペースを入れるのは避けて下さい。
そうすれば、後述の例の様に " で括ら無くても OK になりますから。

此れで、ジョブファイル が自動生成されます。

もし、
Robocopy の実行結果が思わしく無い場合には、
見直すと共に、
其の生成ジョブファイルは 破棄 して下さい。


  注:
    以下の引用形式の中は html 用に \ を ¥ に置換しています。
    コピーして使うとエラーになります。


robocopy D:¥Users¥UserA¥Pictures U:¥Users_Current¥UserA¥Pictures /E /DCOPY:T /R:3 /W:5 /XF "desktop.ini" "Thumb*.db" /SAVE:D:¥Users¥UserA¥Documents¥Robocopy¥JobFiles¥UserUserA_Pictures2Current.RCJ


さて、
結果生成されるジョブファイル の内容です。


::
:: Robocopy ジョブ D:¥USERS¥USERA¥DOCUMENTS¥ROBOCOPY¥JOBFILES¥USERUSERA_PICTURES2CURRENT.RCJ
::
:: 作成者 USERA (場所: 2023年1月25日、時間: 12:58:21)
::

::
:: コピー元ディレクトリ:
::
/SD:D:¥Users¥UserA¥Pictures¥ :: コピー元ディレクトリ。

::
:: コピー先ディレクトリ:
::
/DD:U:¥Users_Current¥UserA¥Pictures¥ :: コピー先ディレクトリ。

::
:: 指定されたディレクトリを含む:
::
/IF :: 指定された名前に一致するディレクトリを含みます
:: *.* :: すべての名前を含みます (現在 - コマンド ラインによる上書き可能)

::
:: 指定されたディレクトリを除外:
::
/XD :: 指定された名前に一致するディレクトリを除外します
:: :: 名前を除外しません (現在 - コマンド ラインによる上書き可能)

::
:: 指定されたファイルを除外:
::
/XF :: 指定された名前に一致するファイルを除外します
desktop.ini
Thumb*.db
::
:: コピー オプション:
::
/E :: サブディレクトリをコピーします、空のディレクトリもコピ
                       ーします。
/DCOPY:T :: ディレクトリにコピーする情報 (既定値は /DCOPY:DA)。
/COPY:DAT :: ファイルにコピーする情報 (既定値は /COPY:DAT)。
::
:: 再試行オプション:
::
/R:3 :: 失敗したコピーに対する再試行数: 既定値は 1,000,000。
/W:5 :: 再試行と再試行の間の待機時間: 既定値は、30 秒です。
::
:: ログ オプション:
::


次回以降は、此のジョブファイルを呼び出せば良い事になります。

robocopy /job:D:¥Users¥UserA¥Documents¥Robocopy¥JobFiles¥UserUserA_Pictures2Current.RCJ



また、
ジョブファイルの記述方法が掴めて仕舞えば、
メモ帳 notepad.exe を開いて、訂正 別名保存 で、
類似のファイルを作る事も可能です。
例えば、上記の Pictures を Documents や Music 等に変えるとか。
但し、
除外したいものが違う事も多いので、
試験運用し、結果を精査して下さいね。

  尚、
  一々、個々のもので作らずに、
  User を対象に 一発で と思われるかも知れませんが、
  システムが使う特殊なものが混在する為、
  権限不足に陥る筈で、
  其れは避けて置くのが 無難 ... 。
  急がば廻れ でしょうね。

私は 一連のジョブファイル 保存場所に、
直前に書いた 実行用のコマンド群 を各行に羅列したものを、
.txt で保存しています。

ですから、 .txt を開き、お目当ての 行 をコピペして、
cmd.exe から 実行する と言う流れですね。



以下は脱線です。

コマンドラインに打ち込んで行く作業は、
面倒ですし、
ケアミス(ケアレスミステーク)が紛れ込む事も多いです。
くそぉ! と思い乍ら、打ち込み直した経験は 何方にもある筈。

GUI にも 操作ミス は つきもの ですが、
CUI だって、同じ。

ただし、 実行前に 見直す 機会 を持てるのは 良い事 です。
CUI の 面倒臭い 点に嘆きつつ、
上の意味から、CUI が消え去る事は無いでしょう。



0 件のコメント:

コメントを投稿