2008-09-16 47 views
66

Tôi cần phải tạo tệp lô bắt đầu nhiều ứng dụng bảng điều khiển trong tệp .cmd của Windows. Điều này có thể được thực hiện bằng cách sử dụng lệnh bắt đầu.Cách tạo tệp bó trong Windows bằng cách sử dụng "bắt đầu" với đường dẫn và lệnh có dấu cách

Tuy nhiên, lệnh có đường dẫn trong đó. Tôi cũng cần phải vượt qua paramaters có không gian là tốt. làm như thế nào?

Ví dụ: batch file

start "c:\path with spaces\app.exe" param1 "param with spaces" 

Trả lời

140

Trên thực tế, ví dụ mình sẽ không làm việc (mặc dù lúc đầu tôi nghĩ rằng nó sẽ, quá). Dựa trên sự trợ giúp cho lệnh Start, tham số đầu tiên là tên của cửa sổ Command Prompt vừa được tạo, và thứ hai và thứ ba sẽ là đường dẫn đến ứng dụng và các tham số của nó, tương ứng. Nếu bạn thêm một "" trước khi đường dẫn đến ứng dụng, nó sẽ hoạt động (ít nhất nó đã làm cho tôi). Sử dụng một cái gì đó như thế này:

start "" "c:\path with spaces\app.exe" param1 "param with spaces" 

Bạn có thể thay đổi đối số đầu tiên thành bất kỳ điều gì bạn muốn tiêu đề của dấu nhắc lệnh mới. Nếu đó là một ứng dụng Windows được tạo, thì dấu nhắc lệnh sẽ không được hiển thị và tiêu đề sẽ không thành vấn đề.

+3

Cảm ơn, điều này đã giúp ích. Tôi không nhận ra tiêu đề cửa sổ là bắt buộc. –

+4

Bạn tiết kiệm cho tôi nhiều giờ khó khăn ... – tmow

+0

Có vẻ như tiêu đề cửa sổ là bắt buộc mặc dù có rất nhiều tài liệu trên internet nói cách khác. Bỏ qua tài liệu đó. Làm theo đề nghị của Andy. – Corin

-1

Bao quanh đường dẫn và đối số với dấu cách bên trong dấu ngoặc kép như trong ví dụ của bạn nên làm. Lệnh có thể cần phải xử lý các dấu ngoặc kép khi các tham số được truyền cho nó, nhưng nó thường không phải là một vấn đề lớn.

14

Thoát đường dẫn bằng dấu nháy đơn là chính xác, nhưng lệnh bắt đầu có tham số chứa tiêu đề của cửa sổ mới. Thông số này được phát hiện bởi các dấu nháy đơn xung quanh, do đó, ứng dụng của bạn không được thực thi.

Hãy thử một cái gì đó như thế này:

start "Dummy Title" "c:\path with spaces\app.exe" param1 "param with spaces" 
0

Bạn đang sử dụng một cái gì đó như thế này:

bắt đầu/d C: \ Windows \ System32 \ calc.exe

bắt đầu/d "C: \ Program Files \ Mozilla

Firefox" firefox.exe bắt đầu/d

"C: \ Program Files \ Microsoft

Office \ Office12" Excel.exe

Ngoài ra tôi khuyên bạn sử dụng đặc biệt biên tập các tập tin batch - Dr.Batcher

1

Điều thú vị là, có vẻ như trong Windows Embedded Compact 7, bạn không thể chỉ định một chuỗi tiêu đề. Tham số đầu tiên phải là lệnh hoặc chương trình.

-1

Tôi đã nghiên cứu thành công và nó hoạt động tốt cho tôi. Yêu cầu của tôi là gửi một email bằng cách sử dụng vbscript mà cần phải được gọi từ một tập tin thực thi trong cửa sổ. Đây là lệnh chính xác tôi đang sử dụng không có lỗi.

START C:\Windows\System32\cscript.exe "C:\Documents and Settings\akapoor\Desktop\Mail.vbs" 
+0

Điều này là sai. Bạn có thể viết 'START" "" C: \ Documents and Settings \ akapoor \ Desktop \ Mail.vbs "'. Mã của bạn chỉ hoạt động bởi vì vbs là một phần mở rộng được giải quyết khi bạn "bắt đầu" nó. Thử gọi notepad.exe bằng đường dẫn, nó sẽ không hoạt động. Nó sẽ luôn thực thi kịch bản. – Samuel

1
start "" "c:\path with spaces\app.exe" "C:\path parameter\param.exe" 

Khi tôi sử dụng gợi ý ở trên, tôi có " 'c: \ path' không được công nhận một một lệnh nội bộ hay bên ngoài, chương trình có thể hoạt động hoặc tập tin batch". Tôi nghĩ rằng dấu hiệu qoutation thứ hai ngăn lệnh chạy.Sau một số giải pháp tìm kiếm bên dưới, hãy lưu ngày của tôi:

start "" CALL "c:\path with spaces\app.exe" "C:\path parameter\param.exe" 
Các vấn đề liên quan