Đi một tập tin batch excruciatingly đơn giản:Administrator vào tập tin batch với đôi thông số trích dẫn
echo hi
pause
Save rằng như test.bat. Bây giờ, thực hiện một phím tắt để test.bat. Phím tắt chạy tập tin batch, mà in "hi" và sau đó chờ đợi một phím bấm như mong đợi. Bây giờ, thêm một số đối số vào mục tiêu của phím tắt. Bây giờ bạn có một phím tắt để:
%path%\test.bat some args
Phím tắt chạy tệp hàng loạt như trước đây.
Bây giờ, hãy chạy phím tắt dưới dạng quản trị viên. (Đây là trên Windows 7 bằng cách này.) Bạn có thể sử dụng hoặc nhấp chuột phải -> Chạy với tư cách Quản trị viên hoặc truy cập thuộc tính của phím tắt và chọn hộp trong phần nâng cao. Nói với UAC rằng điều đó là ổn và một lần nữa shortcut sẽ chạy file batch như mong đợi.
Bây giờ, thay đổi các đối số trong các mục tiêu của các phím tắt để thêm dấu ngoặc kép:
%path%\test.bat "some args"
Bây giờ hãy thử các phím tắt as administrator. Nó không hoạt động lần này! Một cửa sổ lệnh bật lên và biến mất quá nhanh để thấy bất kỳ lỗi nào. Tôi đã thử thêm> test.log 2> & 1 vào lối tắt, nhưng không có nhật ký nào được tạo trong trường hợp này.
Thử chạy cùng một lối tắt (với dấu ngoặc kép) nhưng không phải là Quản trị viên. Nó chạy các tập tin batch tốt. Vì vậy, có vẻ như hành vi không phải do các tham số được trích dẫn kép, và nó không phải vì nó hoạt động như Quản trị viên. Đó là một sự kết hợp kỳ lạ giữa hai người.
Tôi cũng đã thử chạy cùng một lệnh từ cửa sổ lệnh của quản trị viên. Điều này chạy các tập tin thực thi như mong đợi mà không có lỗi. Chạy lối tắt từ cửa sổ lệnh sẽ sinh ra một cửa sổ lệnh mới mà đã lóe lên và biến mất. Vì vậy, rõ ràng vấn đề là do sự kết hợp của quản trị viên, phím tắt và dấu ngoặc kép.
Tôi hoàn toàn bối rối, có ai có ý tưởng gì đang xảy ra không? Tôi cũng muốn một cách giải quyết khác.
điều gì xảy ra khi bạn chạy lệnh thực trên dòng lệnh. '% path% \ test.bat" một số args "'. Bạn đã thấy gì? – ghostdog74
khi chạy từ dòng lệnh, tập tin batch in "hi" và sau đó chờ đợi một phím bấm, như bạn có thể mong đợi. – XXB