• 締切済み

Schtasksコマンドについて

こんにちは。 表題のコマンドでスケジュールタスクを作成するバッチファイルを作成しているのですが、不明点がありますのでどなたかご教示を。 タスク作成を行なう部分は、以下のようなコマンドラインで考えています。 schtasks /create /tn タスク1 /tr コマンド1 /sc daily /st 開始時刻 /ru ユーザ名 /rp パスワード schtasks /create /tn タスク2 /tr コマンド2 /sc daily /st 開始時刻 /ru ユーザ名 /rp パスワード schtasks /create /tn タスク3 /tr コマンド3 /sc daily /st 開始時刻 /ru ユーザ名 /rp パスワード ・ ・ 実際のバッチにはこのようなタスクが7、8個あります。 ただしユーザーが1度に必要なのはこのうち1つだけで、後はユーザー判断で必要なものを切替させようと考えています。 ところがこのコマンドラインのままだと、作成されたタスクは全てが「有効」になってしまい、必要なもの以外を全て「無効」にする手間が発生してしまいます。 (タスクのプロパティ ⇒ 「タスク」タブ ⇒ 「実行する」のフラグの部分。) そこで出来れば逆、つまり「無効」の状態でタスク作成⇒ユーザー判断で必要なもののみ有効へ変更、としたいのですが、schtasksコマンドにこのようなオプションは無いのでしょうか? あるいは、他に要件を満たす方法があれば、ご教示下されば嬉しいです。 ちなみにプラットフォームは、今のところXP系(PROかHOMEかは未定)で考えています。 宜しくお願いします。

みんなの回答

noname#219128
noname#219128
回答No.2

No.1です。 XPの環境が手元にない為、Windows Server 2003の話になりますが、 タスク作成時に指定するのは無理そうなので、一度作成しその後変更するのはいかがでしょうか? 例)hogeをタスク名として SCHTASKS /CREATE /tn hoge パラメータ SCHTASKS /CHANGE /tn hoge /DISABLE 後、XP HOMEに関しては噂で聞いただけで確証はありません。ごめんなさい。

参考URL:
http://technet2.microsoft.com/WindowsServer/ja/Library/1d284efa-9d11-46c2-a8ef-87b297c68d171041.mspx?mfr=true
acho104
質問者

お礼

/disable ってオプションがあるんですね!こういう情報を得たかったのです。 でも、XPの環境でこのまま実行すると、「無効な引数またはオプションです」と蹴られます。 ちょっと調べてみたら、似た悩みをお持ちの外人さんが居ました↓ http://www.mcse.ms/message2140029.html 誰もレスしていないところを見ると、XPのコマンドラインだけで、スケジュールタスクの有効/無効を切り替える事は、限りなく難しいのかもしれません。 という訳で今回は別の方策を取る事にします。 でも今後の参考になりました。ありがとうございました。

noname#219128
noname#219128
回答No.1

本題ではありませんが、 >ちなみにプラットフォームは、今のところXP系(PROかHOMEかは未定)で考えています。 に関してですが、「schtasks」ってXP HOMEでは使えなかったと思いますが?

acho104
質問者

補足

ご指摘ありがとうございます。 >「schtasks」ってXP HOMEでは使えなかったと思いますが? 私もそう思ったのですが、 http://support.microsoft.com/kb/321121/ja http://support.microsoft.com/kb/812400/ja この二つの事例の最後に、「XP Home」と記載があったので、対応しているものと思っていました。 対応するとしても確かに、Proで作成したタスクがHomeで正常動作するのか等、不安要素はありますが... あるいはara-kenさんの方では、schtasks.exeがHomeでは想定通り動作しなかった等の情報をお持ちですか? 引き続き情報提供をお願いします。

関連するQ&A

  • schtasksコマンドで質問です。

    schtasksコマンドで質問です。 windows2003server⇒windows2003serverに対して、ネットワーク上でschtasksコマンドを使って スケジュールを登録したいと考えています。 schtasks /create /s [IPアドレス] /U *** /P *** /RU *** /RP *** /TR C:\test.bat /SC ONCE /TN test /ST 00:00:00 上記コマンドなのですが実行するとkernel32.dllエラーと出てしまいます。 原因がいまいちわからなく困っています。どなたかご教授頂けたらと思います。

  • ログオフでもスケジュール実行させるには?

    Windows 2008を使っています。 Administratorでログインした状態で、以下のschtasksコマンドでスケジュールを登録しました。 schtasks /create /tn "TEST" /tr "C:\Test.cmd" /sc daily /st 04:00 その後、ログオフして、翌朝 そのタスクが実行された形跡がなく、 /queryで確認すると、そのスケジュール時間のタスクが「開始できません」となっていました。 登録ユーザーがログオフしても、ログオン状態でもタスクが必ず動作するようにするには、 /ru systemとつけるべきでしょうか? schtasks /create /tn "TEST" /tr "C:\Test.cmd" /ru system /sc daily /st 04:00 また、何か他のパラメータが必要でしょうか?

  • schtasksによりリモートでタスク登録したVBSの動作

    schtasksで以下のようにしてVBSをタスクスケジューラに登録しました。 schtasks /create /tn テスト /tr テスト.vbs /sc daily /st 00:00:00 /ru SYSTEM /s \\COMPUTER VBSは実行されているようですが、MsgBoxで表示しているポップアップが表示されません。 試しに同じVBSを手動でタスク登録してみたのですが、その場合は正常に表示されます。 ATコマンドで/interactiveにすれば可能ですが、今後の管理のことも考えると、できればATは使いたくありません。 schtasksでは同様のことはできないのでしょうか? どなたかよろしくお願いします。

  • 【Win2003Server】コマンドから追加したタスクが起動しない

    Windows 2003 Serverを利用しています。 コマンドからタスクを追加したいため、 次のコマンドを実行しました。 schtasks /create /tn "sample" /tr "C:\Program Files\sample\sample.exe" /sc daily /st 22:00:00 コマンド自体は成功してタスクが追加されたのですが、 実行させたいsample.exeが起動しません。 手動でタスクを追加したときと比べると、 [タスク]の[実行するタスク名]がダブルコーテーションで囲まれているか、 囲まれていないかの違いがありました。 コマンドから追加したほうがダブルコーテーションで囲まれていません。 ダブルコーテーションで囲まれていないために、 半角スペースが含まれるパスにある「sample.exe」を実行できないのだろうと 思うのですが、何か解決策はございませんか? もしご存知でしたら、教えて頂けませんか? ぜひよろしくお願い致します。

  • タスクスケジューラーに登録するバッチ エラー

    お世話になっております。 先日質問させていただいた 「タスクスケジューラーに登録するプログラム」 http://okwave.jp/qa/q8482858.html エラーで上手く動きませんでした。 構文が無効です。必須のオプション 'sc' が指定されていません。 CREATE /?" と入力すると使用法が表示されます。 というエラーが出ます。 プログラム内容 --------------------------------- set /P JIKAN="【毎週月曜起動】あを起動する時間を入力して下さい:" schtasks /create /tn あ /tr %~dp0あ.bat" /sc WEEKLY /d MON /st %JIKAN% set /P JIKAN="【毎日起動】い起動する時間を入力して下さい:" schtasks /create /tn い /tr %~dp0い.bat" /sc DAILY /d MON /st %JIKAN% @echo off dir \ pause ---------------------------------- 両方、エラーで上手く動きません。 【エラー内容】 構文が無効です。必須のオプション 'sc' が指定されていません。 CREATE /?" と入力すると使用法が表示されます。 最初のJIKAN には、10:00と入力し 次のJIKANには、17:30と入力してみました。 どのようにすればこのエラーを解決できるのでしょうか? 検索してみているのですが、このやり方で上手くプログラムできるみたいですので 良く分からなくて困っています。 回答よろしくお願い致します。

  • C# タスクスケジューラ操作について

    お世話になります。 Windows7Pro VisualStudio2005C# で業務アプリケーションを開発しております。 C#のコードでタスクスケジューラの操作を考えております。 現状コマンドプロンプトを起動し、命令文を実行する方法で考えております。 目的としましては、既に作成してあるタスクに対して、 C#のコードから実施時刻、使用有無、実行間隔を変更したいと考えております。 しかしながら、以下の命令文で実施時刻、使用有無は変更できますが、実行間隔が操作できません。 SCHTASKS /CHANGE /RU ********* /RP ***** /TN TEST /ST 17:30 /ENABLE 変更のコマンドがご存知の方がございましたら、ご教示いただければ幸いに存じます。 また、本稿C#のカテゴリに投稿した理由としまして、 C#2005で本処理を含むタスクスケジューラを操作するコードがございましたら、 ご教示いただければと思いまして記述を致しました。 合わせてご教示いただければ幸いに存じます。 以上宜しくお願い申し上げます。

  • コマンドでデータベースの作成

    データベースをコマンドで作成しています。手順としては環境変数設定→oradimでパスワードファイルの作成→PFILEの作成→SPFILEの作成→インスタンス起動→CREATE DATABASEスクリプトとなっていました。しかし、 (1)環境変数設定 (2)PFILE作成 (3)(startup nomountコマンドはしていません)CREATE DATABASE実行 データベースが完成しました。と表示されました。現在はここまでの状態です。(データディクショナリ作成はまだです。) いくつか手順をとばしていることにきづいたのですが、もう一度最初からやり直したほうがいいですか?

  • コマンドプロンプトが開かない!

    コマンドプロンプトを開くと、一瞬表示されすぐに閉じてしまいます。 OSはWindows2000 アドミニ権限のユーザです。 新しくユーザを作成しても同じでした。 でも、セーフモードでは普通に起動しました。 どうしたらなおるのでしょうか? タスクマネージャ、REGEDITも同様でした。 お願いしますm(__)m

  • パスワードを作成しないで「タスク」を利用する方法

    Windows XPを使用しています。 コントロールパネルの、「タスク」を使って、一定の時刻にアプリが立ち上がるようにしたいのですが、指定した時刻になっても立ち上がりません。 私なりに原因を調べると、Windowsユーザーアカウントのパスワードを作成していないとうまくいかないようです。実際にパスワードを作成してやってみるとうまくいきました。 しかしそうすると、 当然ながらWindowsを起動する際にパスワードの入力を求める画面が現れます。それでは困る事情が個人的にはあるので、 パスワードを作成しないで「タスク」を利用する方法はありませんか?

  • XPのタスクスケジューラについて

    Windows XPに登録されたタスクをコマンドなどで一時無効か停止をにさせたいのですが、何か方法がありますでしょうか?削除ではもう一度登録なので。 Windows 7はコマンドプロンプトでschtasks /change /tn "タスク名" /enableという便利なものがあるのですが、XPではどう足掻いても無理なのでしょうか。(コマンドプロンプトのアップデートとか...7からもってくるとか) タスクより『詳細設定(N)』→『タスクスケジューラの一時停止』or『タスクスケジューラ使用停止』をVBSかVBAでできれば最高ですが、どう調べたらいいのか何をしたらいいか困ってます。 やりたい事は、9時にセットしたタスクAが実行される5分くらい前に「このタスクを本日実行させますか?」というのがしたいです。