2012-02-18 16 views
7

Nếu tôi cần một tập lệnh thực thi với nỗ lực tối thiểu từ hệ thống, tôi sẽ chọn cái nào?VBS so với PowerShell: Cái nào nhẹ hơn?

Bằng cách nhìn vào các quá trình tại Task Manager:

Memory (Private Working Set)
wscript.exe 2,068K
powershell.exe 33,144K

Cảm ơn.

Trả lời

33

Có bảo tồn hiệu trưởng công việc đang diễn ra tại đây. Nếu máy ít hoạt động thì bạn phải làm nhiều việc hơn. Nếu máy hoạt động tốt hơn, bạn phải làm ít công việc hơn.

Triết lý của chúng tôi với PowerShell là tài nguyên quan trọng nhất là thời gian và sự chú ý của Quản trị viên nên chúng tôi dành tài nguyên máy để mang lại trải nghiệm tốt nhất có thể. Vì vậy, nếu bạn đang tìm kiếm dấu chân có thể nhẹ nhất trên máy, bạn nên mã hóa nó trong 'C'. C++ nặng hơn thế và VBS thậm chí còn nặng hơn, và C# thậm chí còn nặng hơn, và chúng nhẹ hơn PowerShell. Tất nhiên mỗi người cũng đòi hỏi nhiều nỗ lực hơn để tạo ra một giải pháp hơn PowerShell.

Vì vậy, cuối ngày, những gì bạn kết thúc với là một sự lựa chọn liên tục và những gì bạn cần làm là quyết định công cụ thích hợp cho vấn đề ở bàn tay là gì. Chúng tôi hiểu rằng ngay từ đầu nên chúng tôi đã thiết kế PowerShell để cung cấp đường dẫn lướt mượt cho C# => C++ => C. Điều này cho phép bạn bắt đầu với PowerShell và nếu nó quá nặng, bạn có thể chuyển sang ngôn ngữ khác mà không phải bắt đầu lại từ đầu giống như bạn làm với PERL => C.

+1

OMG! Một câu trả lời của Jeffrey Snover. 1 để tạo ngôn ngữ tôi yêu rất nhiều :-) –

+1

Ý định "nặng hơn"? Có lẽ "thậm chí nặng hơn" sẽ truyền đạt ý tưởng tương tự mà không có vẻ hơi khó xử? – R0MANARMY

3

Điều này rõ ràng phụ thuộc vào những gì bạn cần tập lệnh để thực hiện. Có những khác biệt lớn trong khả năng giữa PowerShell và vbscript. PowerShell có thể tận dụng hầu hết các khả năng của khung công tác .NET nơi mà vbs không thể. Vì vậy, có một số nhiều thứ mà bạn chỉ đơn giản là thậm chí sẽ không thể làm với VBS.

Nếu tập lệnh cần thực hiện điều gì đó mà cả hai đều có thể thực hiện, thông thường bạn có thể thực hiện điều tương tự trong PowerShell trong ít dòng lệnh hơn, làm cho tập lệnh dễ bảo trì và phân phối hơn. Đôi khi những gì mất 10-50 dòng VBS có thể được thực hiện bằng cách gõ vào một dòng PowerShell duy nhất tại vỏ.

Vậy tại sao bạn cần trọng lượng nhẹ? Thực tế, VBS có thể mất một chút bộ nhớ tương đối ít cân nhắc những lợi ích của PowerShell mà tôi đã nói ở trên không? PowerShell sẽ giúp bạn làm việc hiệu quả hơn và cho phép bạn thực hiện nhiều hơn nhờ khả năng mạnh mẽ của nó và sẽ mất ít thời gian và công sức của bạn để thực hiện điều đó.