Sự khác biệt giữa wscript và cscript


84

Sự khác biệt giữa cscript và wscript là gì? Cách nào tốt nhất để thực hiện tự động hóa Telnet và FTP trong Windows?

Câu trả lời:


128

Trong Windows, tệp thực thi là ứng dụng bảng điều khiển hoặc ứng dụng Windows (hoặc ứng dụng SFU hoặc Native, nhưng điều đó không quan trọng ở đây).

Kernel kiểm tra một cờ trong tệp thực thi để xác định cờ nào.

Khi bắt đầu sử dụng CreateProcesshàm WinAPI, nếu nó là một ứng dụng console, kernel sẽ tạo một cửa sổ console cho nó nếu process cha không có, và đính kèm STDIN, STDOUTSTDERRcác luồng vào console.

Nếu nó là một ứng dụng Windows, không có giao diện điều khiển sẽ được tạo ra và STDIN, STDOUTSTDERRsẽ đóng cửa theo mặc định.

WSCRIPT.EXECSCRIPT.EXEgần như giống hệt nhau, ngoại trừ một cái được gắn cờ là ứng dụng windows và cái còn lại được gắn cờ là ứng dụng console (Đoán xem theo cách nào!).

Vì vậy, câu trả lời là: Nếu bạn muốn script của mình có cửa sổ console, hãy sử dụng CSCRIPT.EXE. Nếu bạn muốn nó KHÔNG có cửa sổ giao diện điều khiển, hãy sử dụng WSCRIPT.EXE.

Điều này cũng ảnh hưởng đến một số hành vi, chẳng hạn như lệnh WScript.Echo. Trong CSCRIPT.EXEđó, ghi một dòng vào cửa sổ giao diện điều khiển. Trong WSCRIPT.EXEđó hiển thị một hộp thư.

Đối với ứng dụng của bạn, tôi đề nghị CSCRIPT.EXE. Tôi nghĩ bạn cũng nên xem PuTTY và PLink, và bạn cũng nên xem điều này ở đây:


5
@ McDonald's Tôi chỉ đang cố gắng kiếm sống. Tôi thực sự không có lựa chọn nào khác ngoài việc sử dụng Stack Overflow vì không có giải pháp thay thế nào và tôi ghét cách chủ sở hữu tiếp tục sử dụng trang web để đưa ra các quan điểm chính trị về bất cứ điều gì khiến họ khó tiêu hóa bữa sáng trong tháng đó. Vì vậy tên người dùng của tôi là sự phản đối của tôi chống lại kiểu chính trị hóa mọi thứ chết tiệt đó .
Ben
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.