2011-12-30 16 views
66

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?Sự khác biệt giữa wscript và cscript

+2

thể trùng lặp của [vbs cscript.exe wscript.exe] (http: // stackoverflow. com/questions/5788303/vbs-cscript-exe-wscript-exe) – McDowell

Trả lời

105

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 Gốc, nhưng điều đó không quan trọng ở đây).

Nhân kiểm tra cờ trong tệp thực thi để xác định.

Khi bắt đầu sử dụng CreateProcess WinAPI chức năng, nếu nó là một ứng dụng giao diện điều khiển, hạt nhân sẽ tạo ra một cửa sổ giao diện điều khiển cho nó nếu quá trình cha mẹ không có một, và đính kèm các STDIN, STDOUTSTDERR suối ra cửa sổ Console.

Nếu đó là ứng dụng Windows, sẽ không có bảng điều khiển nào được tạo và STDIN, STDOUTSTDERR sẽ đóng theo mặc định.

WSCRIPT.EXECSCRIPT.EXE gần như giống hệt nhau, ngoại trừ cột được gắn cờ là ứng dụng cửa sổ và ứng dụng kia được gắn cờ là ứng dụng bảng điều khiển (Đoán cách nào xung quanh!).

Vì vậy, câu trả lời là: Nếu bạn muốn tập lệnh của mình có cửa sổ bảng điều khiển, hãy sử dụng CSCRIPT.EXE. Nếu bạn muốn nó KHÔNG có cửa sổ bảng đ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 một CSCRIPT.EXE điều này viết một dòng vào cửa sổ giao diện điều khiển. Trong WSCRIPT.EXE nó hiển thị một hộp thư.

Đối với đơn đăng ký của bạn, tôi đề xuất CSCRIPT.EXE. Tôi nghĩ bạn cũng nên xem xét PuTTY và Plink, và bạn cũng nên thấy điều này ở đây:

+3

@ McDonald's Tôi chỉ đang cố gắng kiếm sống. Tôi không có lựa chọn thực sự nào khác ngoài việc sử dụng Stack Overflow vì không có lựa chọn nào khác và tôi ghét cách chủ sở hữu tiếp tục sử dụng trang web để tạo điểm chính trị về bất kỳ điều gì gây khó khăn cho việc tiêu hóa bữa sáng của họ 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