バッチファイルはコマンド ラインからは実行されますが、タスク スケジューラからは実行されません。

バッチファイルはコマンド ラインからは実行されますが、タスク スケジューラからは実行されません。

ここに画像の説明を入力してください私は複数のコンピューターを所有しており、すべて Windows 10 Pro x64 を実行しています。すべて 1 年以上前に Microsoft の無料アップグレード オファーを通じて Windows 7/8 からアップグレードされました。

これらのシステムの 1 つは、クライアントが作成したすべてのコンテンツ (ドキュメント、写真、音楽など) を保存する場所です (DT1)。もう 1 つは、ファイルおよびマルチメディア サーバーとして使用されている S1 です。S1 には大量のディスク ストレージがあるため、バックアップ システムとしても使用しています。

まず、7 つのフォルダーを循環して、最も古いバックアップを前に出し、他の 6 つを新しいものから古いものの順に後ろに押し戻します。次に、Robocopy を使用して、コンテンツ ファイルを 7 つの順序の現在の最初のフォルダーにミラーリングします。

Rename "N:\My Backups\RCY\ABC" ABCX
Rename "N:\My Backups\RCY\ABC7" ABC
Rename "N:\My Backups\RCY\ABC6" ABC7
Rename "N:\My Backups\RCY\ABC5" ABC6
Rename "N:\My Backups\RCY\ABC4" ABC5
Rename "N:\My Backups\RCY\ABC3" ABC4
Rename "N:\My Backups\RCY\ABC2" ABC3
Rename "N:\My Backups\RCY\ABCX" ABC2

Robocopy "\\DT1\D\RCY" /MIR "N:\My Backups\RCY\ABC\DT1" (スペースや特殊文字がないので、宛先名を引用符で囲む必要がないことはわかっていますが、一貫性を保つ方が簡単です)。

これは 1 年以上、毎晩実行して機能しています。最近、S1 のマザーボードが故障したため、修理をすぐに延期し、新しいシステムを構築してストレージ オプション/容量を増やすことにしました。新しいシステムを S1 と名付け、元の S1 と同じ IP アドレスを割り当て、すべてのドライブ文字が以前と同じであることを確認しました。この新しいシステムは、直接販売されている Win 10 Pro x64 インストール (バージョン 1803) を備えた唯一のシステムです。DT1 もバージョン 1803 を実行していますが、これは Windows Update 経由で入手したものです。

しかし、バッチ ファイルはコマンド ラインからは問題なく実行できるものの、タスク スケジューラ (TS) からは実行されません。手動でもスケジュールでも実行できません。私の知る限り、宛先フォルダーの名前変更も行われません。これは、Robocopy が実行される前の手順です。TS ジョブは最高の権限を使用するように設定されており、管理者権限を持つアカウントから実行されます。実行されると、実行中であると表示されますが、何も起こりません。4 時間後にキャンセルされます (私の設定では、コマンド ラインからは 5 分以内に完了します)。S1 を再起動して、他のユーザーがフォルダー\ファイルにアクセスしていないことを確認しました。管理者アカウントを有効にしてそこから実行してみましたが、結果は同じでした。「Everyone」を含むすべてのアカウント タイプにファイルへのフル アクセスを許可しました。

バッチ ファイルを exe ファイルにコンパイルし、管理者として実行するように設定しましたが、うまくいきませんでした。

他に試すべきことはありますか? 繰り返しになりますが、新しいシステムと OS のインストールを導入するまで、すべて問題なく動作していたことを覚えておいてください。また、コマンド ラインから正常に実行できます。

この問題を回避する方法 (XCopy など) を見つけることはできますが、厄介な技術的問題に対する答えを学ぶことは後で利益をもたらすことがわかったので、この TS 問題の解決策を探しています。

関連情報