2
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

タスクスケジューラーでxcopyが動かなかった話

Posted at

概要

PC内の画像をNASにバックアップするバッチを、タスクスケジューラーで実行するようにしていたが、実は動作できていなかった。
原因はコピー先フォルダをネットワークドライブで指定していたためで、UNC形式で指定することで回避できた。

詳細

  • NASを購入したので内臓HDDの画像をバックアップしたく、NASの共有フォルダにSドライブを割り当て、次のようなbatファイルを作成した。
    xcopy c:\*.jp* S:\WinDesktop\C-Drive /d /i /s > .\CopyPhotoLog-C.txt

  • 手動で実行したときは問題なく動作してたので、タスクスケジューラーでデイリーバックアップするようにした。実行履歴も正常に動作しているようだった。

  • しばらくたって、バックアップが正常動作しているか心配になったので、手動でbatを実行してみると、バックアップされているはずの画像がコピーされてしまった。慌ててタスクスケジューラーの履歴を見ると確かにエラーが返っていた。

  • 調べてみるとタスクスケジューラーでネットワークドライブにアクセスするときは、UNC接続しろという記述を発見。(https://qa.atmarkit.co.jp/q/1424)
    確かにこれで動作するようになったが、理由がいまいちわからずモヤモヤ。

  • さらに調べてみると次の情報を発見。ネットワークドライブはユーザーが対話形式のログオンをしていないとネットワークドライブが使えないとのこと。
    http://www.unirita.co.jp/blog/data-utilization/data-linkage/20140916-2.html

結論

ネットワークドライブの割り付けは対話形式のログオン時に割り当てられるため、タスクスケジューラーでの実行は利用できない。そのため、ネットワークフォルダを使用する際はUNC形式で指定するべし。
xcopy c:\*.jp* \\nas\WinDesktop\C-Drive /d /i /s > .\CopyPhotoLog-C.txt

2
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?