Как узнать допустимые имена обработчиков сценариев для параметра CScript.exe //E:engine?

Когда вы запускаете файл с расширениями .VBS, .JS или .WSF через CScript.exe, они выполняются правильно:

CScript vbsProg.vbs
CScript jsProg.js
CScript wshScript.wsf

Однако мы можем использовать параметр //E:engine для запуска файлов VBS или JScript с другими расширениями:

CScript //E:VBS vbsProg.txt
CScript //E:JScript jsProg.txt

Есть ли способ сделать то же самое с файлом WSF?

CScript //E:WhatGoesHere wshScript.txt

Есть ли место, где задокументированы имена скриптовых движков? Есть ли способ узнать названия всех установленных двигателей?

Спасибо!

Антонио


person Aacini    schedule 31.01.2013    source источник
comment
У меня похожая проблема. Я пытаюсь вызвать WSF из другого WSF, но это не удается. Вам повезло?   -  person meffordm    schedule 11.02.2013
comment
@meffordm: см. >новый ответ ниже...   -  person Aacini    schedule 28.04.2014


Ответы (2)


[РЕДАКТИРОВАТЬ] После прочтения комментария Эккехарда Хорнера я решил вычеркнуть свое первое предложение о переключателе //E.

Сам WSF представляет собой файл пакетного задания, который может содержать сценарии на разных языках, например:

<package>
  <job>
    <script language="VBScript">
      WScript.Echo "Echo from VBScript"
    </script>
    <script language="JScript">
      WScript.Echo("Echo from JScript");
    </script>
    <script language="XYZ">
      //where XYZ s`d be a valid name of installed language
    </script>
  </job>
</package>

А //E вообще не применим к файлам WSF. CScript распознает их только по их расширению, что означает, что единственный способ запустить WSF через CScript:

CScript ScriptName.WSF
person Panayot Karabakalov    schedule 31.01.2013
comment
вы не можете использовать переключатель двигателя //E для чего-то другого, кроме VBS или JScript, это неправильно. При установленном ActiveState Perl //E:PerlScript работает нормально (это я могу доказать). Все установленные имена языков ActiveScript являются (вероятно) допустимыми параметрами для //E. Однако ваш вывод относительно .WSF вполне может быть правильным. - person Ekkehard.Horner; 31.01.2013
comment
Все установленные имена языков ActiveScript являются (вероятно) допустимыми параметрами для //E - это новое для меня, что сказать, возможно, вы правы. - person Panayot Karabakalov; 31.01.2013
comment
+1 за улучшение, хотя я очень недоволен выводом об отсутствии значения WSF для переключателя //E:. - person Ekkehard.Horner; 31.01.2013
comment
Есть ли способ узнать имена всех установленных языков ActiveScript? - person Aacini; 31.01.2013
comment
@ Ekkehard.Horner - Спасибо, что касается WSF ... это не Script Engine, верно? По крайней мере не имеет таких ключей в Win Registry. - person Panayot Karabakalov; 01.02.2013
comment
@Aacini - для меня это не простой вопрос. Поиск в реестре Win ... но это немного ад. Я надеюсь, что кто-то знает лучший способ. - person Panayot Karabakalov; 01.02.2013

Хотя нет способа узнать имена установленных движков для команды CScript //E:, есть очень простой способ выполнить файл с любым расширением как файл .wsf:

CScript wshScript.txt?.wsf

Подробности в этом сообщении.

person Aacini    schedule 27.04.2014