こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

タスクスケジューラでbatファイルを動かしたい

Windows10とWindows7を使っています
Biosにタイマー機能がないノートPC(Windows7)を、遠隔PC(Windows10)からタスクスケジューラを使ってWakeOnLanで起動させることにより、タイマー起動のようなことをしようかと思い立ちました。

http://plaza.rakuten.co.jp/mscrtf/diary/201210120000/
こことほぼここと同じことを考え
・コマンドでMagicPacketを送れるソフト(MagicSend)を探しだし
・MagicSendと同一ディレクトリ内にWakeOnLanのbatファイルを作って配置し
・そのWakeOnLanのbatファイルをタスクスケジューラに登録
したところ、起動に失敗しました。

・WakeOnLanのbatファイルを手動で動かすと起動する
・WakeOnLanのbatファイルにストップウォッチソフト起動コマンドを追加してみたところ、手動ではWakOnLanもストップウォッチも起動するが、タスクスケジューラでは起動しない
ところから、タスクスケジューラがバッチファイルの実行に失敗しているのではないかと思います

ここから先がわからなくなりました この場合、どこを疑うべきでしょうか?
Windows10のタスクスケジューラはWindows7とは違う点があるとか、タスクスケジューラでbatファイルを動かす場合はbatファイル内に記述するコマンドのカレントディレクトリの位置に気をつけなくてはならない(絶対パスを指定すべし?)とか、その他ありますか?

投稿日時 - 2016-04-12 08:05:27

QNo.9157215

困ってます

質問者が選んだベストアンサー

バッチファイルの先頭行に半角英文字で
===
cd /D %~dp0
===この一行
を追加してみてください。

参考URL:http://www.love-hokuto.com/?p=1248

投稿日時 - 2016-04-12 11:58:33

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

Windows 7 Pro 32bit → Windows 10 Pro 32bit にした者です。

まず前提として…

Windows 10 は、ソフトウェア用の制御用プログラムを搭載していません。

✳ソフトウェアを OS の制御下に置いて居ませんが… PC に接続されている
ハードウェアを OS の制御下に置いています。

Windows 7 は、ソフトウェア用の制御用プログラムを標準で搭載しています。

✳ソフトウェアを OS の制御下に置いている反面、ハードウェアを OS の制御下
に置いていません。

> Windows10のタスクスケジューラはWindows7とは違う点があるとか
基本的に同じモノですが先に述べた通りで、Windows 10 は、ソフトウェア用の
制御用プログラムを搭載していないので?従来のタスクスケジューラと同じ事が
出来ません。

投稿日時 - 2016-04-12 20:15:18

ANo.2

batを手動で動かすと動作しているわけですので、実行内容はOKだと思います。
タスクスケジューラの設定で「最上位の特権で実行」してみてはどうでしょうか。
添付画像参照。

投稿日時 - 2016-04-12 09:55:48

お礼

別な方法で解決しましたが、ありがとうございました。

投稿日時 - 2016-04-14 21:04:58

ANo.1

タスクスケジューラーは、Windows上で動作させる仕組みです。PCの起動は、Windowsが起動する前の動作になるので、Windows上でPCを起動させることは根本的に無理なのです。再起動は別ですが...

また、WakeOnLanのパケットはブロードキャストパケットなので、ルータ超えの環境では起動させることができません。この解決方法としては、

1.WakeOnLanの機能を搭載したルータに置き換える
2.LAN側に常時起動させておくPCを用意し、このPCにリモート接続してノートPCを起動させる

しか方法はありません。

投稿日時 - 2016-04-12 09:33:39