Nếu bạn muốn thực thi nhiều lệnh với 1 dòng, start
ví dụ, nơi bạn đang bắt đầu các lệnh với , nếu bạn muốn thực thi một lệnh như thế này:
start "" netsh dump && pause
Sau đó, bạn cần thực hiện theo 2 bước (giải pháp một dòng nằm ở cuối câu trả lời này).
Đầu tiên, viết các lệnh vào một tệp bó tạm thời (trong trường hợp này, bạn có thể sử dụng &
hoặc &&
):
echo netsh dump ^&^& pause ^&^& exit>foobar.cmd
-or-
echo netsh dump ^& pause ^& exit>foobar.cmd
Lưu ý rằng bạn cần "thoát" từng "&"s
(ký hiệu) với a "^"
để cho phép chúng được coi là các ký tự bình thường trong echo
lệnh. Ngoài ra, bạn có thể tạo tệp bó tạm thời bằng trình soạn thảo văn bản, chẳng hạn như Notepad.
Sau đó, sử dụng start
để bắt đầu tệp bó:
start "" foobar.cmd
-or-
start "" "temporary foobar.cmd"
Lưu ý: Cặp dấu ngoặc kép trống dành cho dấu "Title"
sẽ được hiển thị trong thanh tiêu đề của cửa sổ lệnh start
sẽ mở. Đây "Title"
tranh luận là về mặt kỹ thuật một tùy chọn tham số để start
, nhưng nó thực sự là cần thiết , nếu lệnh đó start
sẽ chạy là dụng dấu ngoặc kép. Chẳng hạn, trong ví dụ thứ hai:
start "" "temporary foobar.cmd"
nếu bạn bỏ qua cặp dấu ngoặc kép trống như thế này:
start "temporary foobar.cmd"
sau đó start
sẽ mở một cửa sổ lệnh mới và sử dụng "temporary foobar.cmd"
làm cửa sổ lệnh mới "Title"
và sẽ không có gì được thực thi trong cửa sổ lệnh mới.)
Nếu bạn muốn start
đợi tệp bó hoàn thành (sau khi pause
bị loại bỏ), trước khi start
hoàn thành, thì bạn cần thêm công /w
tắc vào start
lệnh:
start "" /w foobar.cmd
Bạn có thể đặt tất cả những thứ này lại với nhau trên một dòng và thậm chí xóa (xóa) tệp bó tạm thời ( foobar.cmd
):
echo netsh dump ^&^& pause ^&^& exit>foobar.cmd && start "" /w foobar.cmd && del foobar.cmd
-or-
echo netsh dump ^& pause ^& exit>foobar.cmd & start "" /w foobar.cmd & del foobar.cmd
Lưu ý rằng nếu bạn định xóa tệp bó tạm thời, bạn cần chạy start
bằng công /w
tắc, nếu không, tệp bó tạm thời có thể sẽ bị xóa trước khi có cơ hội chạy.
&
và&&
chỉ hoạt động trong Windows 'cmd.exe
- không phải là DOS.