Làm cách nào để thực hiện các lệnh cmd thông qua một tệp loạt?


89

Tôi muốn viết một tệp hàng loạt sẽ thực hiện những việc sau theo thứ tự nhất định:

  1. Mở cmd
  2. Chạy lệnh cmd cd c:\Program files\IIS Express
  3. Chạy lệnh cmd iisexpress /path:"C:\FormsAdmin.Site" /port:8088 /clr:v2.0
  4. Mở Internet Explorer 8 với URL =http://localhost:8088/default.aspx

Lưu ý: Không nên đóng cửa sổ cmd sau khi thực hiện các lệnh.

Tôi đã thử khởi động cmd.exe / k "cd \ & cd ProgramFiles \ IIS Express" , nhưng nó không giải quyết được mục đích của tôi.


6
vấn đề bạn đang gặp phải là gì?
argentum47

Câu trả lời:


106

Vì vậy, hãy tạo một tệp lô thực sự: mở notepad, nhập các lệnh bạn muốn chạy và lưu dưới dạng .battệp. Sau đó nhấp đúp vào tệp .bat để chạy nó.

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

c:\
cd c:\Program files\IIS Express
start iisexpress /path:"C:\FormsAdmin.Site" /port:8088 /clr:v2.0
start http://localhost:8088/default.aspx
pause

1
cảm ơn @Blorgbeard. nó đang hoạt động ngoại trừ dòng thứ 4. nó không mở url nhất định.
patel

trình duyệt có mở được không?
Blorgbeard ra mắt vào

Ồ, tôi nghĩ tôi biết chuyện gì đang xảy ra - hãy xem bản chỉnh sửa của tôi, tôi đã thêm "bắt đầu" trước iisexpressdòng.
Blorgbeard ra mắt vào

@Blorgbeard, tôi đang thử cách tiếp cận của bạn "C:\Program Files\MongoDB\Server\3.3\bin\mongod.exe" --install --dbpath=C:\data\db --logpath=C:\data\log\log.txt --auth --servicevà nó không hiệu quả. Khi tôi thực hiện dòng này trong CMDmọi thứ đều OK. Trong cả hai trường hợp, tôi thực thi nó với tư cách là quản trị viên. Làm ơn nói cho tôi biết, tôi làm gì sai?
Mike B.

4
@MikeB. startlấy đối số được trích dẫn đầu tiên làm tiêu đề cửa sổ. Hãy thửstart "" "C:\Program Files\MongoDB\Server\3.3\bin\mongod.exe" --install --dbpath=C:\data\db --logpath=C:\data\log\log.txt --auth --service
Stephan

24

Tôi nghĩ rằng cú pháp đúng là:

cmd /k "cd c:\<folder name>"

4
Tùy chọn rất hay '/ k'. Bằng cách này, ngay cả sau khi nhấn CTRL + C cmd vẫn không thoát. Cảm ơn rất nhiều :-)
Pushpendra

16

Điều này khắc phục một số vấn đề với câu trả lời của Blorgbeard (nhưng chưa được kiểm tra):

@echo off
cd /d "c:\Program files\IIS Express"
start "" iisexpress /path:"C:\FormsAdmin.Site" /port:8088 /clr:v2.0
timeout 10
start http://localhost:8088/default.aspx
pause

8

Cú pháp "lệnh" cmd / c hoạt động tốt. Ngoài ra, nếu bạn muốn bao gồm một tệp thực thi có chứa khoảng trắng trong đường dẫn, bạn sẽ cần hai bộ dấu ngoặc kép.

cmd /c ""path to executable""

và nếu tệp thực thi của bạn cần đầu vào tệp với khoảng trắng trong đường dẫn, một tập hợp khác

cmd /c ""path to executable" -f "path to file"" 

6
@echo off
title Command Executer
color 1b

echo Command Executer by: YourNameHere
echo #################################
: execute
echo Please Type A Command Here:
set /p cmd=Command:
%cmd%
goto execute

3
"Làm cách nào để thực hiện các lệnh cmd thông qua một tệp loạt?" Heh, đúng kỹ thuật.
Vivek Chavda

2
Đúng về mặt kỹ thuật..có ... nhưng cũng chính xác những gì bạn cần nếu bạn đang ở máy tính ở trường và dấu nhắc lệnh bị tắt nhưng tệp hàng loạt thì không.
RetroCraft

Tôi đã tìm kiếm này, vì vậy tôi rất vui vì bạn được đăng này mặc dù nó không phải những gì OP muốn :)
dandeto

1

cmd / k cd c: \ là câu trả lời đúng


cmd / k "cd <đường dẫn mà cmd cần được thực thi (Ví dụ: c: \ users \ desktop \ myFolder)> & <lệnh của bạn (Ví dụ: pm2 start)>"
Techdive

0
start cmd /k "your cmd command1"
start cmd /k "your cmd command2"

Nó hoạt động trong Windows server2012 trong khi tôi sử dụng các lệnh này trong một tệp hàng loạt.


-7

Tôi biết DOS và lời nhắc cmd KHÔNG THÍCH dấu cách trong tên thư mục. Mã của bạn bắt đầu bằng

cd c: \ Program files \ IIS Express

và nó đang cố chuyển đến c: \ Program thay vì C: \ "Program Files"

Thay đổi tên thư mục và tên * .exe. Hi vọng điêu nay co ich


Thay đổi tên thư mục? Bạn đang đùa chắc.
Werner Henze

1
đúng cho bất kỳ lệnh nào sử dụng tham số có dấu cách - ngoại trừ cd . Đó là lệnh duy nhất mà tôi biết, thực sự nhận các tham số có dấu cách không có dấu ngoặc kép.
Stephan

Khi bạn thay đổi "Tệp chương trình" .... xD. Tôi đồng ý với Werner. Đây là những gì sẽ xảy ra: các ứng dụng của bạn mà công trình hardcodes vị trí tập tin không còn, một số chức năng hệ thống có thể phá vỡ không làm việc, bạn hệ thống xuống
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.