Daily.batというバッチファイルがあります。これがコードです。
cd C:\inetpub\wwwroot\infoweb\factuur\cron
c:\PHP\php.exe -f ./cron_pdf.php
ftp -s:ftp_upload.txt ftp.site.be
Windows 7でタスクスケジューラを使用してタスクを作成しました。手動でバッチを実行しても問題はありませんが、タスクスケジューラを使用して実行しようとしても何も起こりません。
私の行動は
'run script' "C:\inetpub\wwwroot\site\x\cron\daily.bat"
UACがオフになっていて、私は管理者です。
なぜこれがうまくいかないのですか?
私は同じ問題に直面しました、しかし私は私のバッチスクリプトを修正する必要なしで別の解決策を見つけました。
私が見逃したのは、「アクション」設定 - 「開始(オプション)」オプションだけです。
タスクのプロパティ - >アクションタブ - >編集 - >以下のように入力します。
C:\Users\beruk\bodo.bat
C:\Users\beruk\
(Start Inを引用符で囲まないでください)次にOKをクリックします
わたしにはできる。がんばろう!
上記の方法はどれもうまくいきませんでした。私はチュートリアルでそれを言ったように私はこの方法でそれを試してみました、そしてそれはうまくいきました。
処置:プログラムを起動してください。
プログラム/スクリプト:cmd
引数を追加します。/c start "" "E:\Django-1.4.1\setup.bat"
Win7 Proで私のために働きました。あなたはパスワードを持つアカウントを持っている必要があります(空白のパスワードはダメです)
Windows 8+タスクスケジューラでbatファイルがまだ動作していない人のために、私がGhaziの答えに追加したい1つのこと - 多くの苦しみの後に:
1)[Actions]で、[Create Task]ではなく[Create BASIC task]を選択します。
それは私のためにそれをやった、さらに忘れないように他の問題:
これは、コマンドプロンプトを起動する必要なしに機能しました。
(すみません、私の担当者はGhaziのコメントに私の基本的なタスクのヒントを追加するには低すぎます)
"Start In"に引用符がないことを確認してください。
それは今働いています。これが私がしたことです。あなたはそれをうまく動かすためにこれらすべてのステップを必要としないかもしれませんが、ただそれらすべてを試すことを確かめるために:
スケジュールされたタスクのアカウントパラメータを確認し、誰かがマシンにログインしているかどうかにかかわらず実行されるように設定されていることを確認します。
ほとんどの特権/権限で実行を確認してください
必ずフルパスを使用してください。cd C:\ inetpub\wwwroot\infoweb\factuur\cron
バッチファイルで二重引用符を使用しないでください(理由はわかりませんが、役に立つようです)。
スーパー管理者になり、コマンドプロンプトで「Net User administrator/active:yes」と入力し、スーパー管理者としてログアウトしてログインします。UACはオフです。
単に電源コードなしでラップトップで実行されていたためにタスクが実行されなかったという問題がありました。[条件]タブでは、デフォルトではチェックされています。
私はこれに数時間戸惑い、さまざまな提案を試みました。
私はついに次のようにしてうまくいくようになった。
処置:プログラムを起動してください。
プログラム/スクリプト:C:\ scriptdir\script.bat
引数を追加する(オプション)script.bat
で起動します(オプション):c:\ scriptdir
ユーザーがログインしたときにのみ実行
最高の特権で実行する
windows Vista、Windows Server 2008用に構成します。
Windows 7 Proの下で、私はArunの解決策が私のために働いていることに気付きました:私は「ユーザーがログオンしていなくても」これを動作させることができました。
過去の経験から、あなたはパスワードを持つアカウントを持っていなければなりません(空白のパスワードはダメです)、そしてあなたがウィザードを終了したときにプログラムがパスワードの入力を促さなかったら
どちらがうまくいったのか明確でない場合の方法です。
Action: start a program
Program/script : cmd
(doesn't need the .exe bit!)
Add arguments:
/c start "" "E:\Django-1.4.1\setup.bat"
"Start In"がバックスラッシュで終わっていないことを確認してください。
残りがすべて失敗した場合は、ここでタスクを実行しようとしているユーザーが、使用しようとしているファイルにアクセスできることを確認してください。
私の場合、C:\ Users\Administrator\Desktopからアカウントにアクセスできないバッチファイルを実行しようとしていました。 C:\の中立的な場所に移動すると問題は解決しました。
タスクを実行するためにどのユーザーアカウントを使用しているかを確認してください。デフォルトのユーザーとは別のユーザーでタスクを実行すると、このユーザーに追加の特権が必要になることがあります。また、タスクが実行されることもありますが、バッチファイルがユーザーの応答を待つため、効果が見られない場合があります。プロセスが実行されている場合は、タスクマネージャを確認してください。一度私はいくつかのWebページのSVN更新とバッチをスケジュールし、SVNがサーバー証明書を受け入れるように要求したためにプロセスがハングアップすることが起こる。
タスクスケジューラのメインウィンドウの[実行]ボタンを使用していくつかのバリエーションをテストしたところ、最終的に正しい設定が見つかりました。この2つのオプションを組み合わせる必要があります。 - ユーザーが最高の特権でログオンしている場合にのみ実行します。他のすべてのバリエーションは失敗しました。それはこれで無駄にしている時間をずっと刺激しています、しかし少なくともそれはうまくいきます。 OS:WINDOWS 8 CORE(BASIC)VERSION
高い権限でタスクを実行してください。
c:\ temp \のように、 "フォルダの開始"のパスの最後に\を付けます。
私はその理由を知りませんが、これは時々私のために働きます。