Câu trả lời:
Bạn có thể sử dụng từ khóa thoát. Đây là một ví dụ từ một trong các tệp bó của tôi:
start myProgram.exe param1
exit
exit
vào một tệp bó.
start "VPN" "C:\Program Files (x86)\Cisco\Cisco AnyConnect Secure Mobility Client\vpnui.exe"
Sử dụng lệnh start để ngăn chặn tệp bó chờ chương trình. Chỉ cần nhớ đặt một trích dẫn kép trống trước chương trình bạn muốn chạy sau "Bắt đầu". Ví dụ: nếu bạn muốn chạy Visual Studio 2012 từ lệnh batch:
Start "" "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe"
chú ý báo giá kép sau khi bắt đầu.
start <window name> <program name>
Nhìn vào lệnh START, bạn có thể làm điều này:
START rest-of-your-program-name
Chẳng hạn, tệp bó này sẽ đợi cho đến khi thoát notepad:
@echo off
notepad c:\test.txt
Tuy nhiên, điều này sẽ không:
@echo off
start notepad c:\test.txt
Từ câu hỏi của riêng tôi :
start /b myProgram.exe params...
hoạt động nếu bạn bắt đầu chương trình từ một phiên DOS hiện có.
Nếu không, hãy gọi một tập lệnh vb
wscript.exe invis.vbs myProgram.exe %*
Phương thức Windows Script Host Run () thực hiện:
Đây là invis.vbs:
set args = WScript.Arguments
num = args.Count
if num = 0 then
WScript.Echo "Usage: [CScript | WScript] invis.vbs aScript.bat <some script arguments>"
WScript.Quit 1
end if
sargs = ""
if num > 1 then
sargs = " "
for k = 1 to num - 1
anArg = args.Item(k)
sargs = sargs & anArg & " "
next
end if
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run """" & WScript.Arguments(0) & """" & sargs, 0, False
Đây là điều duy nhất làm việc cho tôi khi tôi cố chạy một lớp java từ một tệp bó:
start "cmdWindowTitle" /B "javaw" -cp . testprojectpak.MainForm
Bạn có thể tùy chỉnh start
lệnh như bạn muốn cho dự án của mình, bằng cách làm theo cú pháp thích hợp:
Syntax
START "title" [/Dpath] [options] "command" [parameters]
Key:
title : Text for the CMD window title bar (required)
path : Starting directory
command : The command, batch file or executable program to run
parameters : The parameters passed to the command
Options:
/MIN : Minimized
/MAX : Maximized
/WAIT : Start application and wait for it to terminate
/LOW : Use IDLE priority class
/NORMAL : Use NORMAL priority class
/HIGH : Use HIGH priority class
/REALTIME : Use REALTIME priority class
/B : Start application without creating a new window. In this case
^C will be ignored - leaving ^Break as the only way to
interrupt the application
/I : Ignore any changes to the current environment.
Options for 16-bit WINDOWS programs only
/SEPARATE Start in separate memory space (more robust)
/SHARED Start in shared memory space (default)
Bạn nên thử điều này. Nó bắt đầu chương trình không có cửa sổ. Nó thực sự nhấp nháy trong một giây nhưng biến mất khá nhanh.
start "name" /B myprogram.exe param1
"title"
tùy chọn là rất quan trọng. Nếu đường dẫn của chương trình bao gồm các khoảng trắng thì nó phải được đặt trong dấu ngoặc kép, do đó chúng ta phải thêm "title"
vào để tránh thất bại.
Cách giải quyết "vấn đề không gian" và phụ thuộc cục bộ:
@echo off
cd "C:\Program Files\HeidiSQL"
start heidisql.exe
cd "C:\Program Files (x86)\Google\Chrome\Application"
start chrome.exe
exit
Đã có rất nhiều câu trả lời cho câu hỏi này, nhưng tôi đang đăng bài này để làm rõ một điều quan trọng, mặc dù điều này có thể không phải luôn luôn như vậy:
Start "C:\Program Files\someprog.exe"
Có thể gây ra sự cố trong một số phiên bản windows vì Start
thực sự mong đợi bộ dấu ngoặc kép đầu tiên là tiêu đề của cửa sổ. Vì vậy, cách tốt nhất là trích dẫn đầu tiên một nhận xét hoặc nhận xét trống:
Start "" "C:\Program Files\someprog.exe"
hoặc là
Start "Window Title" "C:\Program Files\someprog.exe"
Giải pháp của tôi để làm điều này từ GUI:
Tạo một lối tắt đến chương trình bạn muốn chạy;
Chỉnh sửa thuộc tính của phím tắt;
Thay đổi TARGET
trường thành %COMSPEC% /C "START "" "PROGRAMNAME""
;
Thay đổi RUN
trường để giảm thiểu.
Sẵn sàng! Xem bạn thích nó như thế nào ...
PS: Các tham số chương trình có thể được chèn vào giữa hai dấu ngoặc kép cuối cùng; các PROGRAMNAME
chuỗi có thể là một tên tập tin, một người họ hàng hoặc một đường dẫn tuyệt đối - nếu bạn đặt trong một đường dẫn tuyệt đối và xóa các ký tự ổ đĩa và dấu chấm phẩy, thì điều này sẽ làm việc trong một ThumbDrive không có vấn đề gì lá thư chuyển nhượng máy chủ để nó .. . (Ngoài ra, nếu bạn đặt phím tắt trong cùng một thư mục và đặt trước tên tệp chương trình PROGRAMNAME
với %CD%
biến, các đường dẫn sẽ luôn khớp; có thể sử dụng cùng một mẹo trong START IN
trường).
Nếu tệp bó này là thứ bạn muốn chạy theo lịch trình hoặc luôn luôn; bạn có thể sử dụng công cụ lập lịch trình windows và nó không mở ra trong một cửa sổ khi nó khởi động tệp bó.
Để mở Task Scheduler
:
'cmd'
taskschd.msc
-> nhậpTừ phía bên phải, nhấp Create Basic Task
và làm theo các menu.
Hi vọng điêu nay co ich.
Đây là giải pháp ưa thích của tôi. Nó được lấy từ một câu trả lời cho một câu hỏi tương tự.
Sử dụng Tập lệnh VBS để gọi tệp bó:
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "C:\path\to\your\batchfile.bat" & Chr(34), 0
Set WshShell = Nothing
Sao chép các dòng trên vào một trình soạn thảo và lưu tệp với phần mở rộng .VBS.