Ý nghĩa của% * ở cuối lệnh script là gì?


0

Tôi thấy một blog . Nó có một lệnh dos.

C:\Windows\System32\cmd.exe /c "echo Hesus | C:\WINDOWS\SysWOW64\WindowsPowerShell\v1.0\powershell.exe %*"

Tôi không biết tại sao nó có% * ở cuối.

Câu trả lời:


1

Câu trả lời

Toán tử% chuyển bất kỳ đối số dòng lệnh nào được cung cấp bởi tệp .cmd vào tập lệnh của bạn.

% 0 có nghĩa là: tên tệp của chính tập lệnh% 1 cho đến% 9 là 9 đối số sau.

% * có nghĩa là, tất cả các đối số được thông qua theo thứ tự xuất hiện. Điều này về cơ bản được sử dụng khi bạn muốn thực thi một số lệnh trước khi thực hiện lệnh chính với tất cả các tham số.

Ví dụ

Giả sử tệp cmd của bạn được gọi là test.cmd và tệp nằm trong c: \ temp.

Kịch bản được viết như sau:

echo This script is: %0
echo Parameter 1 given is: %1
echo Parameters 2 and 3 are: %2 %3
echo.
echo All parameters are: %*

Bạn gõ lệnh sau vào dòng lệnh:

C:\TEMP>test 1 2 3

Đầu ra trên màn hình sẽ là:

This script is: C:\TEMP\test.cmd
Parameter 1 given is: 1
Parameters 2 and 3 are: 2 3

All parameters are: 1 2 3

C:\TEMP>_

Cảm ơn, nhân tiện. Có một /csau cmd.exe. Đó là gì? Chúng ta có thể chỉ sử dụng một lệnh đơn giản. C:\Windows\System32\cmd.exe "C:\WINDOWS\SysWOW64\WindowsPowerShell\v1.0\powershell.exe"
Yêu

cmd /ccó nghĩa là: thực thi lệnh sau /cvà sau đó chấm dứt cmd.exe (giết cửa sổ) /kgiống như /cnhưng thay vào đó, cửa sổ cmd vẫn mở. Mở một dấu nhắc lệnh và nhập vào cmd /?cho tất cả các tham số có thể.
LPChip 30/03/2016
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.