Làm cách nào để chạy tệp .js từ một dòng lệnh trên windows?


15

Tôi có một lối tắt với 'mục tiêu' "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js".

Tôi muốn chạy nó từ một tệp bó vì vậy tôi đã sao chép "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js"dòng lệnh vào cmd.exe và nhấn enter. Không có chuyện gì xảy ra.

Làm cách nào tôi có thể chạy "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js"từ một dòng lệnh trên Windows7?

cập nhật

tập tin js chứa

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

Tôi đã cố chạy tệp js bằng cả hai Wscript.exeCscript.exenhư @Serge đề xuất nhưng không có gì hoạt động = chương trình tôi bắt đầu bằng doubleclicking chưa bắt đầu. Không có lỗi.

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:\>

Ngôn ngữ nào là tệp .js được viết bằng JavaScript hoặc JScript?
Robert

@Robert: Tôi không biết. Đó không phải là kịch bản của tôi. Đây là một sản phẩm thương mại mà tôi muốn có thể bắt đầu bằng một cú nhấp chuột hoặc theo cách rất nhanh (Windows7). Nếu tôi xác định những gì đang chạy, nó sẽ không bắt đầu vào lần tới.
Radek

Câu trả lời:


14

Bạn có hai lựa chọn:

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

hoặc là

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

Cái trước bắt đầu phiên bản dòng lệnh của Windows Scripting Host và cái sau đang bắt đầu phiên bản cửa sổ.

Các tùy chọn dòng lệnh được ghi lại ở đây: https://docs.microsoft.com/en-us/windows-server/adftime/windows-commands/cscript

và tại đây: https://docs.microsoft.com/en-us/windows-server/adftime/windows-commands/wscript

Trong tệp tập lệnh của bạn, bạn nên sử dụng đường dẫn đầy đủ đến tệp jar của mình và có thể là đường dẫn đầy đủ đến java.exe

Ngoài ra, để cho phép java.exexác định vị trí tar-loader.jartệp, bạn nên thay đổi thư mục hiện tại thành thư mục chứa tệp này, vì vậy trước khi gọi wscripthãy thực hiệncd "C:\Users\Public\TestPro\TestPro Automation Framework\"

Như bạn đã đề cập rằng bạn muốn chạy tập lệnh này trong một lần chạm, bạn cũng có thể tạo một lối tắt trên màn hình nền có một dòng lệnh được đặt thành Wscript.exe "C:\Users\Public\TestPro\TestPro Automation Framework\taf.js"và thư mục làm việc được đặt thànhC:\Users\Public\TestPro\TestPro Automation Framework\


Tôi đồng ý với Serge, tại sao không chạy java -Dlog.dir=%TEMP% -jar taf-loader.jartrực tiếp từ dòng lệnh hoặc lô? Tại sao phương pháp vòng này? (Rõ ràng, java.exe phải ở trong PATH.)
Karan

@Karan & Serge: Xem bình luận của tôi dưới câu hỏi của tôi. Nó không phải là kịch bản của tôi. Tôi không muốn sửa đổi nó. Có lẽ tôi có thể sử dụng mã từ nó để tạo tệp bó của riêng mình hoặc đại loại như thế. Tôi không muốn sửa đổi bất cứ điều gì.
Radek

"Có lẽ tôi có thể sử dụng mã từ nó để tạo tệp bó của riêng mình hoặc đại loại như thế." - Yeah, vậy chuyện gì xảy ra khi bạn làm vậy?
Karan

Nó chỉ là một mặc dù. Tôi không biết làm thế nào để làm điều đó ngay bây giờ và tôi không chắc liệu có thể gây ra bất kỳ rắc rối nào tại sao tôi bắt đầu chương trình theo đợt như vậy không và nó không chính xác 100%.
Radek

@Radek có cả tar-loader.jar nằm trong cùng thư mục 'C: \ Users \ Public \ TestPro \ TestPro Automatic Framework \' không?
Serge

2

Nếu bạn có thể chạy 'java' trong cửa sổ giao diện điều khiển mà không có lỗi, thì

1) Tạo một tệp văn bản trên máy tính để bàn của bạn được gọi là 'taf.txt'

2) Nhập "java -Dlog.dir =% TEMP% -jar taf-loader.jar" vào tệp văn bản và lưu nó

3) Đổi tên tệp thành 'taf.bat'

Làm xong.

Sử dụng một máy chủ lưu trữ kịch bản để bắt đầu một kịch bản khởi chạy một trình bao khởi chạy một chương trình java là quá dài.

Hãy nghĩ về điều đó theo những gì bạn muốn đạt được - bạn muốn chương trình khởi chạy với một cú nhấp chuột vào một biểu tượng.

Tệp bó là cách nhanh nhất để đạt được điều đó trên win7.

Nếu bạn đang sử dụng một hệ điều hành có thể khởi động một tập lệnh Javascript mà không gây rối thì đó sẽ là một cách hay để khởi chạy nó, nhưng tập lệnh đó sẽ không hoạt động trên bất kỳ thứ gì ngoài windows (trừ khi ActiveX được chuyển bây giờ - đã lâu rồi thời gian kể từ khi tôi sử dụng nó).

Nguồn: Nhà phát triển Java chuyên nghiệp trong hơn 10 năm


0

Java 1.6 đi kèm jrunscriptđể chạy JavaScript bên ngoài các trình duyệt web.


Nó không dành cho các tệp javascript (js): nó dành cho các tập lệnh Java và (bây giờ) không được bao gồm trong JRE.
0zkr PM
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.