web-dev-qa-db-ja.com

スケジュールされたタスクの実行時に「開く」プロンプトを開きます

5分ごとに.vbsファイルを実行しようとしています。

私はこれをWindowsタスクスケジューラを使用して実行しようとしています。

Actionsタブ-> New Actionで、[ファイルを開く]ダイアログを使用してファイル("D:\Documents\FC3 Savegames\FC3.vbs")を選択します

他のすべての設定は適切に行いました。

ただし、タスクが開始するたびに、毎回open withダイアログが開きます。

開くダイアログでNotepadを選択したら、次に、YesNoCancelの3つのボタンがあるCan not find D:\Documents\FC3.txt file. Do you want to create a new fileと言う別のダイアログがメモ帳から開きます。

何が悪いのか教えてください。
ファイルパスの空白が問題の原因だと思います。

後で追加
パスを短縮形に設定することでこれを修正しました( "D:\ Documents\FC3Sav〜1\FC3.vbs")。しかし、それでも毎回「開く」ダイアログが開きます。現在、「Microsoft Windows Script Hostを使用し続ける」と言う2つのメインプログラムとその他のプログラムがあります。このダイアログは、vbsファイルを直接実行すると開きません。

9
shashwat

ここに私が持っているヘルプファイルのWscript.exeについてそれが言うことです:

Windowsベースのスクリプトホスト(Wscript.exe)を使用してスクリプトを実行するにはWindowsベースのスクリプトホストを使用して、次の方法でスクリプトを実行できます。

  • Windowsで閲覧

    実行するスクリプトが含まれているフォルダを参照してダブルクリックします。スクリプトファイルは、マイコンピュータ、Windowsエクスプローラ、[検索]ウィンドウ、[スタート]メニュー、またはデスクトップに一覧表示できます。

  • 実行コマンドを使用

    開始をクリックし、次に実行をクリックします。 [開く]で、Windowsホストの実行可能ファイル(Wscript.exe)の名前、スペースの順に入力し、実行するスクリプトの完全パス名を入力します。スクリプトファイルのファイル名拡張子を必ず含めてください。 [〜#〜] ok [〜#〜]をクリックしてスクリプトを開始します。

  • コマンドプロンプトウィンドウから

    コマンドプロンプトで、Windowsホストの実行可能ファイル(Wscript.exe)の名前、スペースの順に入力し、実行するスクリプトの絶対パス名を入力します。スクリプトファイルのファイル名拡張子を必ず含めてください。 Enterを押してスクリプトを開始します。

メモ

  • Windowsスクリプトは、ファイル名拡張子が.wsf、.vbs、.jsのファイルです。
  • 拡張子がWscript.exeに関連付けられていないスクリプトファイルをダブルクリックすると、プログラムから開くダイアログボックスが表示されます。 Wscript.exeを選択し、次に常にこのプログラムを使用するを選択して、このファイルタイプを開きます。これにより、このファイルの種類のファイルの既定のスクリプトホストとしてWscript.exeが登録されます。
  • [Windowsスクリプトホストの設定]ダイアログボックスを使用して、Wscript.exeがローカルコンピューターで実行するすべてのスクリプトのグローバルスクリプトプロパティを設定できます。
  • 個々のスクリプトのプロパティを設定できます。これを行う方法については、関連トピックを参照してください。
  • Windowsスクリプトホストを使用して.wsfスクリプトファイルを作成することもできます。これにより、複数のスクリプトエンジンを呼び出し、複数のジョブをすべて1つのファイルから実行できます。

Cscript.exeについての説明は次のとおりです。

コマンドベースのスクリプトホスト(CScript.exe)を使用)

Cscript.exeは、Windowsスクリプトホストのコマンドラインバージョンであり、スクリプトプロパティを設定するためのコマンドラインオプションを提供します。

Cscript.exeを使用すると、コマンドプロンプトでスクリプトファイルの名前を入力してスクリプトを実行できます。 Microsoft Internet Explorerと同様に、Windows Script HostはWindows Script準拠のスクリプトエンジンのコントローラーとして機能しますが、Windows Script Hostのメモリ要件は非常に低くなっています。 Windowsスクリプトホストは、ログオンスクリプトや管理スクリプトなど、対話型および非対話型の両方のスクリプトのニーズに最適です。

Windows Script Hostは、VBScriptまたはJScriptで記述されたスクリプトをサポートしています。デスクトップまたはコマンドプロンプトからスクリプトを開始すると、スクリプトホストは指定されたスクリプトファイルの内容を読み取り、登録済みのスクリプトエンジンに渡します。スクリプトエンジンは、ファイル拡張子(つまり、VBScriptの場合は.vbs、JScriptの場合は.js)を使用してスクリプトを識別します。その結果、スクリプトエンジンの正確なプログラムID(つまり、ProgID)を知る必要はありません。スクリプトホストは、スクリプト拡張とプログラムIDのマッピングを維持し、Windows XPアソシエーションモデルを使用して、特定のスクリプトに適切なエンジンを起動します。

更新:

XPでのファイルの関連付けを修正する「FixVBSFileAssociationsXP.reg」と呼ばれるレジストリファイルを次に示します。 Win 7では別のものが必要になります。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.reg]
@="regfile"

[HKEY_CLASSES_ROOT\.reg\PersistentHandler]
@="{5e941d80-bf96-11cd-b579-08002b30bfeb}"

[HKEY_CLASSES_ROOT\regfile]
@="Registration Entries"
"EditFlags"=dword:00100000

[HKEY_CLASSES_ROOT\regfile\DefaultIcon]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,72,00,65,00,67,00,65,00,64,00,69,00,74,00,2e,00,65,00,78,00,65,00,\
  2c,00,31,00,00,00

[HKEY_CLASSES_ROOT\regfile\Shell]

[HKEY_CLASSES_ROOT\regfile\Shell\edit]

[HKEY_CLASSES_ROOT\regfile\Shell\edit\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\
  54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,25,00,31,00,00,\
  00

[HKEY_CLASSES_ROOT\regfile\Shell\open]
@="Mer&ge"

[HKEY_CLASSES_ROOT\regfile\Shell\open\command]
@="regedit.exe \"%1\""

[HKEY_CLASSES_ROOT\regfile\Shell\print]

[HKEY_CLASSES_ROOT\regfile\Shell\print\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\
  54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,2f,00,70,00,20,\
  00,25,00,31,00,00,00

これは、VistaおよびWindow 7用のFixVBSFileAssociationsVista.regというバージョンです。これは、Windows 8でもmight機能しますが、自己責任で使用してください(戻る可能であれば、最初にレジストリを設定してください):

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.VBS]
@="VBSFile"

[HKEY_CLASSES_ROOT\.VBS\PersistentHandler]
@="{5e941d80-bf96-11cd-b579-08002b30bfeb}"

[HKEY_CLASSES_ROOT\VBScript]
@="VB Script Language"

[HKEY_CLASSES_ROOT\VBScript\CLSID]
@="{B54F3741-5B07-11cf-A4B0-00AA004A55E8}"

[HKEY_CLASSES_ROOT\VBScript\OLEScript]

[HKEY_CLASSES_ROOT\VBSFile]
"FriendlyTypeName"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,\
  00,6f,00,6f,00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,\
  32,00,5c,00,77,00,73,00,68,00,65,00,78,00,74,00,2e,00,64,00,6c,00,6c,00,2c,\
  00,2d,00,34,00,38,00,30,00,32,00,00,00
@="VBScript Script File"

[HKEY_CLASSES_ROOT\VBSFile\DefaultIcon]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,57,00,53,00,\
  63,00,72,00,69,00,70,00,74,00,2e,00,65,00,78,00,65,00,2c,00,32,00,00,00

[HKEY_CLASSES_ROOT\VBSFile\ScriptEngine]
@="VBScript"

[HKEY_CLASSES_ROOT\VBSFile\ScriptHostEncode]
@="{85131631-480C-11D2-B1F9-00C04F86C324}"

[HKEY_CLASSES_ROOT\VBSFile\Shell]
@="Open"

[HKEY_CLASSES_ROOT\VBSFile\Shell\Edit]

[HKEY_CLASSES_ROOT\VBSFile\Shell\Edit\Command]
@=hex(2):22,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,\
  00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,\
  6f,00,74,00,65,00,70,00,61,00,64,00,2e,00,65,00,78,00,65,00,22,00,20,00,25,\
  00,31,00,00,00

[HKEY_CLASSES_ROOT\VBSFile\Shell\Open]

[HKEY_CLASSES_ROOT\VBSFile\Shell\Open\Command]
@=hex(2):22,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,\
  00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,57,00,\
  53,00,63,00,72,00,69,00,70,00,74,00,2e,00,65,00,78,00,65,00,22,00,20,00,22,\
  00,25,00,31,00,22,00,20,00,25,00,2a,00,00,00

[HKEY_CLASSES_ROOT\VBSFile\Shell\Open2]
@=hex(2):4f,00,70,00,65,00,6e,00,20,00,26,00,77,00,69,00,74,00,68,00,20,00,43,\
  00,6f,00,6d,00,6d,00,61,00,6e,00,64,00,20,00,50,00,72,00,6f,00,6d,00,70,00,\
  74,00,00,00
"MUIVerb"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,\
  6f,00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,\
  00,77,00,73,00,68,00,65,00,78,00,74,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,\
  34,00,35,00,31,00,31,00,00,00

[HKEY_CLASSES_ROOT\VBSFile\Shell\Open2\Command]
@=hex(2):22,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,\
  00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,43,00,\
  53,00,63,00,72,00,69,00,70,00,74,00,2e,00,65,00,78,00,65,00,22,00,20,00,22,\
  00,25,00,31,00,22,00,20,00,25,00,2a,00,00,00

[HKEY_CLASSES_ROOT\VBSFile\Shell\Print]

[HKEY_CLASSES_ROOT\VBSFile\Shell\Print\Command]
@=hex(2):22,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,\
  00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,\
  6f,00,74,00,65,00,70,00,61,00,64,00,2e,00,65,00,78,00,65,00,22,00,20,00,2f,\
  00,70,00,20,00,25,00,31,00,00,00

[HKEY_CLASSES_ROOT\VBSFile\ShellEx]

[HKEY_CLASSES_ROOT\VBSFile\ShellEx\DropHandler]
@="{60254CA5-953B-11CF-8C96-00AA00B8708C}"

[HKEY_CLASSES_ROOT\VBSFile\ShellEx\PropertySheetHandlers]

[HKEY_CLASSES_ROOT\VBSFile\ShellEx\PropertySheetHandlers\WSHProps]
@="{60254CA5-953B-11CF-8C96-00AA00B8708C}"
4
martineau

古い質問ですが、私もそれに遭遇し、それが私の問題を解決するのに役立ったので、私にとって何がうまくいったかを共有したいと思いました。コマンドをC:\Windows\System32\wscript.exeに設定し、スクリプトへのパスを引数として渡すと、他の変更を必要とせずに、チャームのように機能します。参考のためにスクリーンショットを示します。

スケジュールされたスクリプトの設定:

enter image description here

7
William Brawner

私は同じ問題を抱えていました。 Windows 8では、ファイル名にスペースや引用符を使用できないことがわかりました。 「プログラム/スクリプト」フィールドではなく、

"D:\Documents\FC3Sav~1\FC3.vbs"

あなたは使うべきです

D:\Documents\FC3Sav~1\FC3.vbs

したがって、[プログラム/スクリプト]フィールドからスペースと引用符の両方を削除すると、スケジュールされたスクリプトは[プログラムから開く]ダイアログをポップアップせずに正常に実行されます。

3
murrayd

プログラムとしてcscript.exeおよびパラメーターとしてVBSファイルを指します。

2
magicandre1981