start "" "%SystemRoot%\Notepad.exe"
Giữ ""
ở giữa bắt đầu và đường dẫn ứng dụng của bạn.
Giải thích thêm:
Thông thường, khi chúng tôi khởi chạy một chương trình từ một tệp batch như bên dưới, chúng tôi sẽ có các cửa sổ màu đen ở nền như OP đã nói.
%SystemRoot%\Notepad.exe
Điều này là do Notepad chạy trong cùng một dấu nhắc lệnh (quy trình). Dấu nhắc lệnh sẽ đóng SAU KHI đóng notepad. Để tránh điều đó, chúng ta có thể sử dụng start
lệnh để bắt đầu một quá trình riêng biệt như thế này.
start %SystemRoot%\Notepad.exe
Lệnh này ổn miễn là nó không có khoảng trống trong đường dẫn. Để xử lý khoảng trống trong đường dẫn cho trường hợp, chúng tôi đã thêm các "
dấu ngoặc kép như thế này.
start "%SystemRoot%\Notepad.exe"
Tuy nhiên, chạy lệnh này sẽ chỉ bắt đầu một dấu nhắc lệnh trống khác. Tại sao? Nếu bạn tìm kiếm start /?
, start
lệnh sẽ nhận ra đối số giữa "
là tiêu đề của dấu nhắc lệnh mới mà nó sẽ khởi chạy. Vì vậy, để giải quyết điều đó, chúng ta có lệnh như sau:
start "" "%SystemRoot%\Notepad.exe"
Đối số đầu tiên của ""
là đặt tiêu đề (mà chúng tôi đặt là trống) và đối số thứ hai
"%SystemRoot%\Notepad.exe"
là lệnh đích để chạy (hỗ trợ khoảng trắng trong đường dẫn).
Nếu bạn cần thêm các tham số vào lệnh, chỉ cần nối chúng được trích dẫn, tức là:
start "" "%SystemRoot%\Notepad.exe" "<filename>"
javaw
thực thi (không chỉjava
vìjava
sẽ bắt đầu một cửa sổ hàng loạt): ví dụstart "" "javaw" -jar C:\JavaProject\myApp.jar