質問
過去の質問を参考にしたのですが解決しませんでしたため、投稿いたします。
Windowsのタスクスケジューラが操作の開始に失敗され、困っております。
同事象で困った方、どのように対処されたか共有頂けますでしょうか。
「まだこんなこと、試せるんじゃない?」という回答だけでも大変助かります。
■エラー
前回の実行結果:ディレクトリ名が無効です。(0x8007010B)
イベントID :203
エラー内容 :タスク スケジューラは、タスク "●●" のインスタンス "●●●" の操作 "C:\Windows\SYSTEM32\cmd.exe" の起動に失敗しました。追加データ: エラー値: 2147942667。
■環境
OS:Windows Small Business Sercer 2011 Standard
■タスクの内容
デスクトップ上にあるバッチファイルを実行させる
■設定内容
1. 「ユーザーがログオンしているときのみ実行する」のチェックは外している
2. 「最上位の特権で実行する」にチェックを入れている
3. 操作の設定では""が入力されていないこと、開始オプション値を入力していること確認済み
4. 「コンピューターをAC電源で使用している場合のみタスクを開始する」のチェックは外している
■試したこと
・コマンドプロンプトより直接バッチをたたくと成功する
・既存タスクを無効状態にして、同内容にて新規タスクを作成するが改善せず
・他の動作に成功しているタスクと同内容に編集するが改善せず
・C:\Windows\SYSTEM32にコマンドプロンプトが存在することを確認
ノウハウ
2017年07月28日 14時55分9697
アンケート
2018年10月30日 14時30分4512
アンケート
2018年04月03日 14時42分5642
ノウハウ
2017年08月21日 19時00分11850
ノウハウ
2017年07月27日 14時34分20580
アンケート
2017年12月26日 14時50分5487
ノウハウ
2017年11月29日 14時30分12341
ノウハウ
2017年10月11日 14時33分1018
ノウハウ
2017年07月27日 14時45分3531
ノウハウ
2017年10月25日 21時28分5828
質問
2016年08月17日 12時57分17
質問
2014年04月09日 09時08分3
質問
2016年10月03日 23時37分3
ノウハウ
2018年01月10日 15時27分3
質問
2017年03月15日 15時52分2
解決済み
具体的なバッチの記述があればもっとわかるかもしれません
。
。
基準となるディレクトリ(フォルダ)が”タスクでの実行時”と”マニュアル実行時”では違うので「ディレクトリがない」になるのではないでしょうか
CD¥ (これでC:¥になる)
CD {実行したいフォルダ、¥で連結も可能}
を入れて実行するフォルダを明示的に指定してはどうでしょう
回答
こんにちは
同様のエラーコードの経験はないですが
ちょっとgoogle先生にきいてみると、くくる話がヒットしています。
となると、pathやエスケープ文字の話だと思うので
そのへんで試行錯誤してみてはいかがでしょうか?
有り体に言うと、DOSの名残で、ファイルまでのpathにスペースが入っていると
""でくくらねばならない、とかそういう話です。
#あくまで一例です
たとえば、"C:\Program Files\hogehoge\nyao.exe"を実行しようとする際、
くくってないと、C:\Programまでで一区切りと思われてしまいますので
そんなコマンドはないよ、ってエラーになります。
回答
desatoさん
ご回答ありがとうございます。
バッチの内容には「set logfile」や「robocopy 」の記述があります。
タスクスケジューラーの操作の編集画面にて、デスクトップにおいているバッチファイルを
直接「参照」より選択しておりました。
ご教授いただきましたように、C:\Usersの記述をCD\Usersに変更してみたり試してみましたが、うまくいきませんでした。
”タスクでの実行時”と”マニュアル実行時”では違うという視点がなかったので、
このあたりをポイントに調べて、試してみたいと思います。
アドバイスいただき、ありがとうございました!
回答
つもりみなとさん
ご回答いただき、ありがとうございます。
タスクスケジューラーの操作の編集画面を再確認してみましたが、
フォルダパスにスペースはございませんでした。。
「ファイルまでのpathにスペースが入っていると""でくくる」等のルールを
きちんとまだ調べることができておりませんでしたので、
解決はしておりませんが一歩前に進めました!
アドバイス頂き、ありがとうございます。
回答
と質問させていただいたのですが...
パスに””””をつけるのはスペース含みだけでなく漢字があったりするときも必要(心配ならつけた方が確実です。
「デスクトップに」とありましたが それを C:¥ に移してみてはどうでしょう
デスクトップはユーザに依存するので「管理者」じゃないと実行できない場合があります。
回答
みなさま、コメント頂き大変ありがとうございました。
その後いろいろ試し、無事に解決いたしました。
やはり、タスクの設定に問題があったと思われます。
■前回までの確認済み操作
・投稿で記述した内容
・タスク再作成
・バッチファイルの保存場所をC直下のtmpフォルダへ変更
■新しく試した操作
1.バッチファイル内末尾の改行なくす【NG】
・デスクトップ上バッチファイル(以下Aバッチ)のコピーをC直下tmpへ保存(以下Bバッチ)
・Bバッチ記述確認
・記述最後の改行2つを削除
・既存タスクの操作プログラムを再登録して実行するが失敗
2.testバッチ作成【NG】
・md[test]と記述した新規フォルダ作成バッチをC直下tmpへ作成
・testバッチ右クリック>開くでの手動実行成功
・1のタスクスケジューラーの操作プログラムをtestバッチへ変更するが失敗
3.新規タスクでtest実行【OK】
・2の既存タスクを削除
・新規タスクでをtest実行タスク作成
・タスク右クリックでの実行成功
4.新規タスクでBバッチ手動実行【OK】
・3とは別で新規タスクを作成してBバッチをタスク登録
・タスク右クリックでの実行成功
5.新規タスクでBバッチ自動実行【OK】
・4のタスクにて、設定した時刻にタスクが正常に動作完了
6.Aバッチをタスクスケジューラー内で手動実行【OK】
・5のタスクスケジューラーの操作プログラムをAバッチ変更
・タスク右クリックでの実行に成功。
7.Aバッチをタスクスケジューラーで自動実行【OK】
・6のタスクにて、設定した時刻にタスクが正常に動作完了
回答
tmpフォルダに保管 というところがなんかへんですね tmpは一時的に使うもの という位置づけですから、人によってはバッサリ消しちゃいますよ
tmp じゃなくて BatTask とかの名前にしてはいかがでしょう
。
いろいろ書いてくれてますが、なにが原因ですか? C:¥ の下のところ にしたのが効を奏しているということでしょうか?