Bat tập tin để chạy một .exe tại dấu nhắc lệnh


134

Tôi muốn tạo một tệp .bat để tôi có thể chỉ cần nhấp vào nó để nó có thể chạy:

svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/ServiceModelSamples/service

Ai đó có thể giúp tôi với cấu trúc của tệp .bat không?


Câu trả lời:


198

Để bắt đầu một chương trình và sau đó đóng dấu nhắc lệnh mà không cần đợi chương trình thoát:

start /d "path" file.exe

10
@MehdiJ: đặt thư mục nhà.
abatishchev

2
Có thể chạy tập tin bat từ trình duyệt web? như một javascript để gọi tập tin bat?
Karthi

4
@Karthi: xin lỗi, điều đó là không thể
abatishchev

1
@Karthi Bạn không muốn javascript có thể chạy tệp bat vì lý do bảo mật.
Roland

1
Làm thế nào để bạn chờ chương trình thoát ra?
m4l490n

48

Bạn có thể dùng:

start "windowTitle" fullPath/file.exe

Lưu ý: bộ trích dẫn đầu tiên phải có nhưng bạn không phải đặt bất cứ thứ gì vào đó, ví dụ:

start "" fullPath/file.exe

8
Set bộ trích dẫn đầu tiên 'chỉ là tiêu đề cửa sổ và KHÔNG bắt buộc. Tuy nhiên, tốt nhất là chỉ định thư mục khởi động bằng / d start /d "fullpath" file.exe Điều này đảm bảo mọi tệp phụ thuộc là, ví dụ: DLL, được tìm thấy và tải.
Tom Wilson

34

đó là mã rất đơn giản để thực thi loại mã dưới notepad vào notepad và lưu vào phần mở rộng .bat Exapmle: notepad.bat

start "c:\windows\system32" notepad.exe   

(mã ở trên "c: \ windows \ system32" là đường dẫn nơi bạn giữ chương trình .exe của bạn và notepad.exe là tệp tệp chương trình .exe của bạn)

thưởng thức!


27

Chỉ cần đặt dòng đó trong tập tin bat ...

Ngoài ra, bạn thậm chí có thể tạo một lối tắt cho svcutil.exe, sau đó thêm các đối số trong cửa sổ 'đích'.


7

Một tập tin bat không có cấu trúc ... đó là cách bạn sẽ gõ nó trên dòng lệnh. Vì vậy, chỉ cần mở trình soạn thảo yêu thích của bạn..copy dòng mã bạn muốn chạy..và lưu tệp dưới dạng anything.bat hoặc anything.cmd


7

Chỉ cần dán vào một tệp và gọi nó là "ServiceModelSamples.bat" hoặc một cái gì đó.

Bạn có thể thêm "@echo tắt" làm dòng một, vì vậy lệnh không được in ra màn hình:

@echo off
svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/ServiceModelSamples/service

Và thay vì thêm một @echo offdòng đầu tiên, bạn chỉ cần thêm @vào đầu dòng mà bạn không muốn bị lặp lại ...
menssana

6

Điều gì ngăn cản bạn?

Đặt lệnh này trong một tệp văn bản, lưu nó với phần mở rộng .bat (hoặc .cmd) và nhấp đúp vào nó ...

Giả sử lệnh thực thi trên hệ thống của bạn, tôi nghĩ đó là nó.


6

Nếu bạn muốn thực sự thông minh, tại loại dòng lệnh:

echo svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/ServiceModelSamples/service >CreateService.cmd

Sau đó, bạn có CreateService.cmdrằng bạn có thể chạy bất cứ khi nào bạn muốn ( .cmdchỉ là một phần mở rộng khác cho .batcác tệp)


3

Như được mô tả ở đây , về Startlệnh, phần sau sẽ khởi động ứng dụng của bạn với các tham số bạn đã chỉ định:

start "svcutil" "svcutil.exe" "language:cs" "out:generatedProxy.cs" "config:app.config" "http://localhost:8000/ServiceModelSamples/service"
  • "svcutil", sau startlệnh, là tên được đặt cho cửa sổ CMD khi chạy ứng dụng được chỉ định. Đây là một tham số bắt buộc của startlệnh.

  • "svcutil.exe"là đường dẫn tuyệt đối hoặc tương đối đến ứng dụng bạn muốn chạy. Sử dụng dấu ngoặc kép cho phép bạn có khoảng trắng trong đường dẫn.

  • Sau khi ứng dụng bắt đầu được chỉ định, tất cả các tham số sau được hiểu là các đối số được gửi đến ứng dụng.


2

Nếu các thư mục của bạn được đặt thành "ẩn phần mở rộng tệp", bạn sẽ đặt tên tệp * .bat hoặc * .cmd và đó vẫn sẽ là tệp văn bản (phần mở rộng .txt ẩn). Hãy chắc chắn rằng bạn có thể đặt tên đúng cho một tập tin!


1

Chà, điểm quan trọng có vẻ như ở đây là svcutil không có sẵn theo mặc định từ dòng lệnh, bạn có thể chạy nó từ phím tắt dòng vs xommand nhưng nếu bạn tạo một tệp bó thông thường sẽ không giúp ích trừ khi bạn chạy tệp vcvarsall.bat trước đó kịch bản. Dưới đây là một mẫu

"C: \ Tệp chương trình \ Microsoft Visual Studio * phiên bản * \ VC \ vcvarsall.bat"
svcutil.exe / ngôn ngữ: cs /out:generatedProxy.cs /config:app.config http: // localhost: 8000 / ServiceModelSamples / dịch vụ
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.