teamsでonedriveへのショートカットを追加したフォルダをバッチで直接サーバにコピーするとエラーになる。
解決したいこと
Teamsのファイルをファイルサーバにコピーする業務があり、簡素化をしたいので、「onedriveへのショートカットを追加」で作成したフォルダからサーバフォルダへのコピーをバッチで実施したいです。
しかし、このショートカットフォルダが特殊なようで、コピーコマンドが、「パラメータが間違っています」のエラーになります。
下記の通り、中間フォルダを経由させることで、コピーは出来るようになりましたが、エラーの原因を知り、出来れば中間フォルダを使わずに処理したいです。
※「onedriveへのショートカットを追加」で作成したフォルダは、アイコンも特殊で、常時Teamsと同期しているフォルダなので特殊なフォルダであることは、なんとなくわかります。
単純に「特殊なフォルダで、そんな仕様なんだよ!」という割り切りだけなのかもしれませんが、なぜ、そんな不思議な仕様なのか、また、パラメータなどで解決できるものなのか知りたくて、質問させていただきました。
自分で試したこと
まず、teamsのファイルをバッチからアクセスするために、「onedriveへのショートカットを追加」で、自分のPCのフォルダにファイルが存在するような状態にしました。
このフォルダのファイルは手作業であれば、ファイルサーバの自分と関係者だけがアクセスできるフォルダにコピー可能です。
ところが、バッチでこのショートカットから手作業でコピー可能なフォルダにrobocopy やxcopyコマンドを使ってコピーしようとすると「パラメータが間違っています」となり、コピーできません。
カレントディレクトリを移動して「.」でディレクトリを指定したりしましたが、状況は変わりませんでした。
なお、コピー元は同じショートカットのまま、コピー先をサーバでなく、ローカルフォルダーにすると、エラーにならず、コピーできます。
また、当たり前ですが、そのローカルフォルダーからサーバへのコピーも問題なくできます。
そのため、今は、
1.ショートカットで出来たフォルダを一度ローカルフォルダーにcopyでコピーする。
2.コピーしたローカルフォルダから、サーバにコピーする。
という2段階コピーする事でショートカットからサーバにコピーしいます。
コピーはxcopy , robocopyどちらでも同じでした。
手動では直接コピーできるし、上記のように中間フォルダをかませばできるので、ユーザ権限は関係ないかと思い、管理者権限では試していません。(というか、逆にローカルの管理者権限だと、ADで管理されているサーバにアクセスできない気がします。)