web-dev-qa-db-ja.com

バッチは手動で実行されますが、スケジュールされたタスクでは実行されません

私は通常batchesとは書きませんが、現在batchを使用してFLVをあるフォルダーから別のフォルダーにコピーするforfilesを持っています。バッチを手動で実行すると、毎回機能しますが、スケジュールされたタスクから、(0x1)エラーがスローされます。

forfiles -p "C:\Program Files\Adobe\Flash Media Server 4.5\applications\name\streams" -m *.flv -s -d -1 -c "cmd /c copy @file ^0x22C:\Program^ Files\Adobe\Flash^ Media^ Server^ 4.5\applications\name\output\"

スケジュールされたタスクが気に入らない構文がわからない。

更新

スケジュールされたタスクの下で、アクションには次のものがあります。

Program/script:  name.bat
Start in (optional): \\servername\file\to\batch
5
zach attack

Start in (optional):パスがUNCパスの場合、機能しませんでした。そのため、バッチをサーバーに移動すると、すべてが正しく機能しました。

WindowsバッチファイルのUNC

NCパスを持つforfiles

4
zach attack

こんにちはこれは役に立つかもしれません、私も同じ問題に直面しています。次のように開始パスを設定するだけです。

enter image description here

ここで、start in pathは、バッチファイルのパスです。プログラムスクリプトに入力したように、「E:\ program related files\demo.bat」、startinにpass:E:\ program related files&done!

ありがとう

アルン・シャルマ

4
Arun Sharma

以下のスクリーンショットを参照してください。ユーザーをシステムに変更する必要がありますenter image description here

2
Gil Allen

スケジュールされたタスク内で.batファイルを実行するには、.batファイルが.exeと同じディレクトリにあるにもかかわらず、startオプション内で.batファイルパスを指定する必要があります。また、最高の特権で実行するようにフラグを立てました。これらの2つのことを行った後、タスクは問題なく突然開始されます。

windows schedule task picture

0
Jenna Leaf

これは古い質問ですが、いくつかの情報を共有したかっただけです。

(0x01)エラーコードは、見つからないリソースを参照することもあります。したがって:

  • バッチファイル内から参照されるすべてのファイル/フォルダーは、そのスケジュールされたタスクの実行に使用されているアカウントにユーザーがアクセスできる必要があります。
  • 「ユーザーがログオンしているかどうかに関係なく実行する」オプションと組み合わせてネットワークロケーションを使用する場合は注意してください。
  • 上記のオプションは、ログオン後にのみ使用できるリソースがあるため、使用が難しい場合があります。
0
Yeseanul

このような問題の最も一般的な理由はアクセス許可です。スケジュールされたタスクは[〜#〜] not [〜#〜]常にyourユーザー資格情報で実行されます。スケジュールされたタスクをyoとして実行する場合は、yoまたは代替ユーザーとして設定する必要があります。

それ以外に、コード行がバッチファイルのcontentであることを願っていますが、このコマンドを直接実行しようとしているのではありません。それともあなたですか?

P.S.これは何 ^0x22および^あなたのコードでやっていますか?

0

Server 2008 R2で、ドメインユーザーの資格情報の下でバッチファイルを実行する場合、[ローカルセキュリティポリシー]> [ローカル設定]> [ユーザー権利の割り当て]で「バッチジョブとしてログオン」セキュリティが確認され、バッチ(ログファイルをネットワークにコピーする)共有)は、タブ一般でオプション "最高の特権で実行"(デフォルト)を選択するまで、スケジュールされたタスクとして実行されませんでしたチェックされていません!)オプションユーザーがログオンしているかどうかに関係なく実行もラジオボタンで選択されましたが、これは非常に標準的だと思います。ドメインユーザーアカウントを使用してタスクを実行することを選択します。

[アクション]タブの場合:パスを含むバッチファイル名全体を「プログラム/スクリプト:」で直接指定すると、正常に機能します(Server 2008 R2の場合)。バッチファイル内で二重引用符を使用しても問題はありません。

0
RedRooster