Đối với những thứ như -WhatIf, chúng tôi có $ PSCmdlet.ShouldProcess() được gán cho chúng tôi bởi thuộc tính [CmdletBinding]. Có những công cụ hoặc thực hành khác để triển khai các đối số dòng lệnh chung như -Verbose, -Debug, -PassThru, v.v. không?Powershell: làm thế nào để thực hiện các công tắc tiêu chuẩn?
14
A
Trả lời
14
Write-Debug
và Write-Verbose
tự động xử lý các thông số -Debug
và -Verbose
.
-PassThru
không phải là về mặt kỹ thuật một tham số chung, nhưng bạn có thể thực hiện nó thích:
function PassTest {
param(
[switch] $PassThru
)
process {
if($PassThru) {$_}
}
}
1..10|PassTest -PassThru
Và đây là một ví dụ của việc sử dụng giá trị passthru của chức năng của bạn trên một lệnh:
function Add-ScriptProperty {
param(
[string] $Name,
[ScriptBlock] $Value,
[switch] $PassThru
)
process{
# Use ":" to explicitly set the value on a switch parameter
$_| Add-Member -MemberType ScriptProperty -Name $Name -Value $Value `
-PassThru:$PassThru
}
}
$calc = Start-Process calc -PassThru|
Add-ScriptProperty -Name SecondsOld `
-Value {((Get-Date)-$this.StartTime).TotalSeconds} -PassThru
sleep 5
$calc.SecondsOld
Có hãy xem Get-Help about_CommonParameters
để biết thêm thông tin.
Các vấn đề liên quan
- 1. Thực hiện các quy tắc tái chế tiêu chuẩn
- 2. Làm thế nào để thực hiện sqlcmd từ PowerShell?
- 3. Làm thế nào để chạy maven từ nhật thực với công tắc -e
- 4. Làm thế nào tương tự/khác nhau là gnu thực hiện, microsoft nmake và tiêu chuẩn posix thực hiện?
- 5. Làm thế nào để thực hiện nguyên tắc RẮN vào một dự án hiện
- 6. Làm thế nào để tạo các ứng dụng Java cho máy tính để bàn tiêu chuẩn công nghiệp?
- 7. Dự án Qt, không có quy tắc nào để thực hiện mục tiêu cần thiết bởi
- 8. Powershell: Xác định công tắc Verbose trong hàm
- 9. Làm thế nào để thành công gây ra bế tắc
- 10. Thực hiện một tiêu chuẩn đặt tên cho các phím, các chỉ số, hạn chế
- 11. Có mẫu tiêu chuẩn nào để quét bảng công việc thực hiện một số thao tác không?
- 12. Các mẫu để thực hiện các nguyên tắc SOLID
- 13. Làm thế nào để thực hiện chức năng Powershell nhiều lần song song
- 14. Thực hiện PowerShell của xcopy
- 15. Làm thế nào để thực hiện tuần tự trong C++
- 16. Tiêu chuẩn mã hóa Erlang và các thực hành tốt
- 17. make: *** Không có quy tắc để thực hiện mục tiêu `tất cả '. Dừng
- 18. Làm cách nào để thực hiện thay thế chuỗi trong chức năng PowerShell?
- 19. Làm thế nào để thực hiện một kịch bản PowerShell có sẵn trong máy từ xa?
- 20. Làm thế nào để thực hiện các công việc nền trong trang ASP.NET MVC 3?
- 21. Làm thế nào để thực hiện phím tắt bên trong PowerShell?
- 22. Làm thế nào để thực hiện lệnh powershell (không phải từ tệp ps1) từ cmd.exe
- 23. Powershell: Thực hiện chính sách
- 24. Làm thế nào để vẽ một phân phối chuẩn tiêu chuẩn trong R
- 25. make: *** Không có quy tắc để thực hiện mục tiêu `Device-Debug '. Dừng lại.
- 26. làm thế nào để thực hiện onRetainNonConfigurationInstance
- 27. Cách tiêu chuẩn để thực hiện lệnh no-op trong python là gì?
- 28. Làm thế nào để sử dụng DockStyle.Fill cho các điều khiển tiêu chuẩn trong WPF?
- 29. Làm thế nào để thực hiện chính xác chức năng giống như Xuất bản bên trong visual studio từ powershell
- 30. Viết một Maven Plugin/Mojo: làm thế nào để bạn thực hiện một mục tiêu buộc thực hiện các mục tiêu khác?
Tôi nghĩ rằng bạn có thể muốn lưu biến đầu vào, làm điều gì đó sau đó passthru biến được lưu trữ ở cuối (nếu $ passthru). – Matt
Có, 'PassTest' không phải là một chức năng hữu ích; chỉ là một ví dụ nhỏ để minh họa cách '-PassThru' có thể được thực hiện. Ngoài ra, bạn cũng có thể làm điều gì đó với biến đầu vào, nhưng passthru giá trị ban đầu không đổi (ví dụ: '$ _. Kill(); if ($ PassThru) {$ _}'). Tôi đã thêm một ví dụ không trival của việc sử dụng tham số PassThru để thiết lập PassThru của một lệnh khác. – Rynant