Khởi chạy chương trình Windows với biến môi trường tùy chỉnh


16

My JAVA_HOMEtrên máy dev của tôi - đó là Windows 7 Pro 64 Bit - trỏ đến Java 64 bit và nói chung là ổn. Tuy nhiên, tôi vừa cài đặt một chương trình - để thông minh, IDE FlashDeveloper - mà cài đặt này không ổn: thay vào đó, cần phải có Java 32 bit và JAVA_HOMEcài đặt ngăn Java 32 bit được chọn.

Vì vậy, tôi muốn hủy đặt JAVA_HOMEngay trước khi khởi chạy Flash IDE.

Một cách để đạt được điều này sẽ thông qua một tập lệnh bó.

Nhưng không có cách nào tốt hơn sao? Tôi đã tìm kiếm các tab khác nhau của cửa sổ thuộc tính Windows Shortcut để tìm tùy chọn như vậy nhưng dường như không có. (Tuy nhiên, tôi đã phát hiện ra một hộp kiểm để chạy chương trình thông qua phím tắt như Administrator.) Bạn có đề xuất nào không?

Cập nhật: Giải pháp hiệu quả với tôi

:: type "C:\Program Files (x86)\FlashDevelop\FlashDevelop.bat"
@ECHO OFF
SETLOCAL
REM Prevent wrong 64-bit JVM from being picked up:
SET JAVA_HOME=
CALL "%~dpn0.exe"

Điều đó sẽ mở ra một dấu nhắc lệnh mà sau đó tôi có thể đóng lại. Bạn có thể làm cho phím tắt có biểu tượng của tệp thực thi mà bạn đang gọi từ dấu nhắc lệnh bằng cách hướng dẫn shell thông qua các thuộc tính phím tắt để tìm kiếm một biểu tượng bên trong tệp thực thi thực tế.

Tôi không thể có được các giải pháp liên quan STARTđến công việc, mở ra một cmd.execửa sổ mới trên máy của tôi khi được thông qua như sau (không biết tại sao):

start "C:\Program Files (x86)\FlashDevelop\FlashDevelop.exe"

Phải nói rằng cái của tôi cmd.exeđược điều chỉnh - điều đó có thể có ảnh hưởng ở đây và đó.

Cập nhật về startvấn đề: Có thể học theo liên kết trong các bình luận, startlệnh sử dụng các đối số đầu tiên trong dấu ngoặc kép làm tiêu đề của các cửa sổ sẽ được tạo ra Vì vậy, khi bạn chuyển một đường dẫn trong dấu ngoặc kép, nó sẽ bị hiểu sai là tiêu đề của cửa sổ mới. Giải pháp thay thế là cung cấp một tiêu đề rõ ràng làm đối số đầu tiên, cũng có thể để trống ( start "" "some path\with spaces").


2
Xem stackoverflow.com/questions/72671/ cho vấn đề bắt đầu
fglez

Câu trả lời:


3

Xin lỗi vì đã làm sống lại một chủ đề cũ, nhưng tôi nghĩ rằng điều này có thể giúp mọi người tìm kiếm một giải pháp cho vấn đề này:

Bạn có thể ghi đè đường dẫn JAVA_HOME của bạn trực tiếp vào FlexSDK. Để thực hiện việc này, hãy điều hướng đến thư mục 'bin /' của SDK của bạn (nên có trong 'C: \ Program Files (x86) \ FlashDevelop \ Tools \ flexsdk \' nếu bạn để trình cài đặt FD thiết lập cho bạn, nếu không bạn có thể biết nó ở đâu) và mở 'jvm.config'.


12

Tôi nghĩ đừng nghĩ rằng bạn có thể làm điều đó trong chính phím tắt, vì vậy phím tắt cần trỏ đến một cái gì đó đặt biến, và sau đó tán thành chương trình của bạn. Tất nhiên, có vô số cách để làm điều đó, nhưng tập lệnh có lẽ đơn giản nhất.

Nếu bạn sử dụng start command.exetrong tập tin bat của bạn, bạn sẽ nhận được một cửa sổ lệnh nhấp nháy, nhưng nó sẽ không dính xung quanh.

Cập nhật: Nó thực sự hoạt động để đặt điều này như là một mục tiêu phím tắt.

C:\Windows\System32\cmd.exe /c "set HOME=c:\ && start C:\Windows\System32\notepad.exe"

Cập nhật 2: Điều đó không hoạt động với một khoảng trắng trong đường dẫn lệnh. Nhưng điều này không!

C:\Windows\System32\cmd.exe /c "set HOME=c:\ && path %path%;C:\Program Files (x86)\VideoLAN\VLC && start vlc.exe"

4

Lưu ý rằng đó setchỉ là tạm thời, vì vậy bạn chỉ có thể đặt các mục sau trong một đợt:

set JAVA_HOME=
program.exe
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.