Как запустить файл .js из командной строки на windows?


15

У меня есть ярлык с «цель» "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js".

Я хочу запустить это из командного файла, поэтому я скопировал "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js"в командную строку cmd.exe и нажал Enter. Ничего не произошло.

Как я могу запустить "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js"из командной строки на Windows7?

Обновить

JS-файл содержит

var WshShell = new ActiveXObject("Wscript.Shell");
WshShell.run("java -Dlog.dir=%TEMP% -jar taf-loader.jar", 0, false);
WScript.exit;

Я попытался запустить файл js с обоими Wscript.exeи, Cscript.exeкак предложил @Serge, но ничего не получилось = программа, которую я запускаю двойным щелчком, не запустилась. Никаких ошибок тоже нет.

C:\>Cscript.exe "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js"
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.


C:\>Wscript.exe "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js"

C:\>

На каком языке файл .js написан на JavaScript или JScript?
Роберт

@ Роберт: я не знаю. Это не мой сценарий. Это коммерческий продукт, который я хочу запустить одним щелчком мыши или очень быстро (Windows7). Если я укажу, что работает, он не запустится в следующий раз.
Радек

Ответы:


14

У вас есть два варианта:

Cscript.exe "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js"

или

Wscript.exe "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js"

Первый запускает версию командной строки Windows Scripting Host, а второй запускает версию окна.

Параметры командной строки описаны здесь: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/cscript

и здесь: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/wscript

В вашем файле скрипта вы должны использовать полный путь к файлу jar и, возможно, полный путь к файлу java.exe.

В качестве альтернативы, чтобы разрешить java.exeпоиск tar-loader.jarфайла, вы должны изменить текущий каталог на каталог, содержащий этот файл, поэтому перед вызовом wscriptmakecd "C:\Users\Public\TestPro\TestPro Automation Framework\"

Как вы упомянули, что вам нравится запускать этот скрипт одним касанием, вы также можете создать ярлык на рабочем столе, для которого установлена ​​командная строка, Wscript.exe "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js"а рабочий каталог -C:\Users\Public\TestPro\TestPro Automation Framework\


Я согласен с Сергеем, почему бы не запустить java -Dlog.dir=%TEMP% -jar taf-loader.jarиз командной строки или партии напрямую? Почему этот метод обхода? (Очевидно, java.exe должен быть в PATH.)
Karan

@Karan & Serge: Смотрите мой комментарий под моим вопросом. Это не мой сценарий. Я не хочу изменять это. Может быть, я могу использовать код из него, чтобы создать свой собственный командный файл или что-то в этом роде. Я предпочитаю ничего не изменять.
Радек

«Может быть, я могу использовать код из него, чтобы создать свой собственный командный файл или что-то в этом роде». - Да, и что происходит, когда ты это делаешь?
Каран

Это было просто хотя. Я не знаю, как это сделать прямо сейчас, и я не уверен, может ли это вызвать какие-либо проблемы, почему я запускаю программу в таком пакете, и это не на 100% правильно.
Радек

@Radek, оба файла tar-loader.jar находятся в одном и том же каталоге C: \ Users \ Public \ TestPro \ TestPro Automation Framework \?
Серж

2

Если вы можете запустить «Java» в окне консоли без ошибок, то

1) Создайте текстовый файл на рабочем столе с именем «taf.txt»

2) Введите "java -Dlog.dir =% TEMP% -jar taf-loader.jar" в текстовый файл и сохраните его.

3) Переименуйте файл в «taf.bat».

Выполнено.

Использование хоста сценариев для запуска сценария, запускающего оболочку, которая запускает Java-программу, слишком затянуто.

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

Пакетный файл - это самый быстрый способ добиться этого на win7.

Если бы вы использовали ОС, которая могла бы изначально запускать сценарий Javascript, не беспокоясь о нем, это был бы хороший способ запустить его, но этот сценарий не работал бы ни с чем, кроме окон (если ActiveX не портирован сейчас - долго время, так как я использовал это).

Источник: Профессиональный Java-разработчик более 10 лет


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.