Windows XP и выше: JavaScript вместо VBScript? - PullRequest
1 голос
/ 14 июня 2011

Я спросил , как проверить изменение меток времени с помощью файлов BAT и запустить команду на основе оператора if , и Виммель спросил, могу ли я использовать VBScript вместо пакетных файлов. Я думаю, что это отличная идея. Это приводит к другому вопросу

Могу ли я получить доступ к функциональности VBScript с помощью JavaScript, оставаясь совместимым с Windows XP для Current? (в частности, проверка времени изменения файла и запуск команды в зависимости от того, как недавно были изменены)

Ответы [ 2 ]

1 голос
/ 14 июня 2011

Несмотря на то, что, вероятно, есть более простые способы достичь того, что вы хотите сделать, я попытался сформулировать более теоретическую часть вашего вопроса, и, очевидно, все, что нам нужно, есть.

Вот что я попробовал:

test.js:

WshShell = WScript.CreateObject("WScript.Shell");
var result = WshShell.Run("test.vbs", 0, true);
WSH.Echo(result);

test.vbs:

WSH.Echo "test.vbs"
WSH.Quit 5
1 голос
/ 14 июня 2011

Не уверен, что это хорошая идея, но да, вы можете использовать JavaScript (на самом деле, JScript) вместо VBScript. Просто используйте класс ActiveXObject вместо функции CreateObject, которая используется в VBScript для создания объектов.

Вот код, который читает метку времени изменения файла с использованием сценариев Windows и JScript:

var o = new ActiveXObject("Scripting.FileSystemObject");
var file = o.GetFile("c:\\temp\\test.js");
WScript.Echo(file.DateLastModified);

Для получения дополнительной информации см. Документация JScript и Документация Windows Script Host

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...