スケジュールされたタスクが.BATファイルに対して実行されない問題を修正
.BATファイルがあり、Windowsのタスクスケジューラを使用して自動的に実行しようとしている場合は(Windows)、(Task Scheduler)手動でタスクを実行しないと実行されないという問題が発生した可能性があります。
コンピューターが起動するたびに一時フォルダー内のすべてを削除するバッチファイルを作成しました。私はタスクスケジューラ(Task Scheduler)で基本的なタスクを作成し、最高のものを望んでいました。残念ながら、コンピュータが起動しても何も起こりませんでした。試行錯誤の末、スクリプトを実行する方法を見つけました。
この記事では、手動で介入せずにバッチファイルを実行するために調整する必要のある設定と権限について説明します。
ステップ1:File/Folderのアクセス許可を確認する
この問題を修正するための最初の手順は、タスクスケジューラ(Task Scheduler)でスクリプトを実行するために使用しているアカウントに、スクリプトを含むフォルダー、スクリプト自体、およびスクリプトの実行時にスクリプトがアクセスするフォルダー/ファイルに対するフルコントロールのアクセス許可があることを確認することです。(Full Control)
たとえば、次のバッチスクリプトを以下に作成しました。
set folder="C:\test" cd /d %folder% for /F "delims=" %%i in ('dir /b') do (rmdir "%%i" /s/q || del "%%i" /s/q)
.BATファイルをDocumentsフォルダーに保存しました。パスはC:\Users\username\Documentsです。C:\ Users \ usernameに移動し、 Documents(Documents)フォルダーを右クリックして、 [プロパティ(Properties)]をクリックしました。次に、[セキュリティ(Security)]タブをクリックしました。
ご覧のとおり、ユーザーアカウントAseemが明示的に追加され、フルコントロール(Full Control)のアクセス許可が付与されています。ここで、スクリプトを含むフォルダーとスクリプト自体に対して同じことを行う必要があります。スクリプトを含むフォルダーにアクセス許可を付与した場合、そうではないので、行ってもよいと思い込まないでください。最後に、スクリプトが操作するすべてのファイルとフォルダーにアクセス許可を設定します。
私の場合、C:\testに移動し、そのフォルダーを右クリックして、フルコントロール(Full Control)のアクセス許可を持つユーザーアカウントをそこに追加する必要がありました。これを行わなければならないのはちょっと面倒ですが、スクリプトを実行する唯一の方法です。
注:スクリプトの実行に使用されているアカウントは、コンピューターのローカルAdministratorsグループの一部である必要があります。私の場合、Aseemアカウントは管理者アカウントであるため、ローカルのAdministratorsグループの一部です。 (Note: The account that is being used to run the script has to be part of the local Administrators group on the computer. In my case, the Aseem account is an administrator account and therefore part of the local Administrators group. )
手順2:タスクスケジューラの設定を確認する(Task Scheduler Settings)
次に、タスクスケジューラ(Task Scheduler)に移動し、そこで適切な設定を変更します。タスクスケジューラ(Task Scheduler)を開き、[アクティブなタスク]( Active Tasks)セクションでタスクを見つけます。それらはアルファベット順にリストされるべきです。
それをダブルクリックすると、同じウィンドウでタスクが単独で開きます。タスクを編集するには、タスクを右クリックして[プロパティ(Properties)]を選択する必要があります。
ここにはいくつかのタブがあり、いくつかチェックして変更する必要があります。まず、 [全般(General)]タブで、タスクの実行に使用されているユーザーアカウントを確認する必要があります。私の場合、これはAseemアカウントです。これは、ファイルシステムで以前にアクセス許可を与えたもので、コンピューターのAd (Aseem)ministrators(Administrators)グループの一部です。
次に、 [ユーザーがログオンしているかどうかに関係なく実行する( Run whether user is logged on or not)]オプションを選択し、[構成]ボックスで(Configure for)[Windows Vista、WindowsServer2008 ]を選択する必要があります。
[アクション(Actions)]タブで、スクリプトを選択し、[編集]をクリックして、[(Edit)開始](オプション)(e Start in (optional))ボックスにスクリプトを含むフォルダーへのパスを追加する必要があります。これは不要に思えるかもしれませんが、そうではありません。私の場合、ボックスにC:\Users\Aseem\Documents\を入力しました。
次に、[ OK(OK) ]をクリックして設定を保存します。これを行うと、タスクを実行するユーザーアカウントのパスワードを入力する必要があるダイアログが表示される場合があります。これにより、別の要件が発生します。パスワードのないアカウントは使用できません。タスクを実行するには、ユーザーアカウントにパスワードが必要です。
最後に、タスクスケジューラ(Task Scheduler)でタスクを手動で一度実行して、タスクが実行されることを確認する必要があります。すべての設定を変更した後で手動で正常に実行される場合は、トリガーされるはずのときに実行されるはずです。私の場合、それは起動時に発生するはずでしたが、変更を加えた後、すべてが正常に機能しました。
スクリプトの実行時にドメイン内のさまざまなコンピューターにアクセスしている場合は、ドメイン管理者アカウントを使用してタスクを実行する必要があることに注意してください。これにより、アカウントにリモートコンピューターにアクセスするための十分なアクセス許可が付与されます。
注意すべきもう1つの項目は、スクリプトがネットワーク共有上のリソースにアクセスするかどうかです。スクリプトが文字を使用してネットワークにアクセスしている場合、スクリプトが実行されない可能性があります。たとえば、F:\data\\\machinename\share_name\data\ Âを使用する必要があります。それでもスクリプトを実行できない場合は、ここにコメントを投稿してください。サポートさせていただきます。楽しみ!
Related posts
「ソースファイルまたはディスクから読み取れない」エラーを修正
Windows10で「USBコントローラーのリソースが不足している」を修正する方法
Windowsで「アップデートを完了できませんでした」エラーを修正する方法
「Spotifyは今これを再生できません」エラーを修正する方法
Discordの「ルートなし」エラーを修正する方法
Androidで機能しないホットスポットを修正する方法
「PCが問題にぶつかり、再起動する必要がある」エラーを修正する方法
Chromeに読み込まれないYouTubeコメントを修正する方法
「ファイルが宛先ファイルシステムに対して大きすぎる」エラーを修正
Windowsで「RPCサーバーが利用できません」エラーを修正する方法
Windows 8.1/10にアップグレードした後に明るさを調整できない修正
Xboxパーティーチャットが機能しない場合の9つの修正
GooglePlayストアのエラーを修正する方法
SDカードが読めませんか?これを修正する方法は次のとおりです
再起動するたびに「セットアップはコンピュータを最初に使用する準備をしている」を修正
Windows10のMSチームでカメラが機能しない問題を修正する方法
コンピュータまたはスマートフォンでBluetoothが機能しない場合のトラブルシューティングのヒント
充電されないAmazonFireタブレットを修正する方法
6Spotifyアプリが応答しないまたは開かない場合の修正
ChromeまたはEdgeでStatus_access_violationエラーを修正する方法