SAP Business Objects によって生成され、ネットワーク ドライブ (M:) に保存されたファイルを、Google ファイル ストリーム ドライブ (G:) にコピーしようとしています。Robocopy Windows コマンドを使用しました。これにより、すでに存在するファイルをスキップできます。私の (簡略化された) バッチ ファイルは次のようになります。
@robocopy "M:\aFolder" "g:\My Drive\DataDrops" "*.txt" /XO >> Logfile.txt
これをダブルクリックするか、コマンドプロンプトから実行すると、完璧に動作します。しかし、基本的に 10 分ごとに新しいファイルをチェックするようにスケジュールを設定したいのです。そこで、バッチ ファイルを実行する Windows タスクを作成しました。しかし、タスクがそれを実行すると、「アクセスが拒否されました」というコマンド ウィンドウがポップアップ表示されます。
タスクを自分自身として実行するように設定し、実行するためにログオンしているときのみ実行するようにしましたが、何らかの理由でタスクの実行時にアクセスが拒否されます。タスクがネットワーク ドライブへのアクセスを許可されていないのか、Google ファイル ストリーム ドライブへのアクセスを許可されていないのか、それともローカル ドライブ (スクリプトが保存されている場所) へのアクセスを許可されていないのかはわかりません。
答え1
したがって、修正方法は、それを PowerShell に移動し、PowerShell (スクリプト自体ではない) をスケジュールして、スクリプトをパラメーターとして渡すことでした。
そうです: パラメータを使用して PowerShell をスケジュールします:-executionpolicy bypass -file YourScript.ps1
修正の 2 番目の部分は、マップされたネットワーク ドライブを使用せず、\\servername\filepath\
ネットワーク ファイル名の表記を使用することです。どうやら、スケジューラはマップされたドライブを認識しなかったようです。(Google ドライブはまだ機能しているので、とてもうれしいです)