반응형
PowerShell에서 서브루틴을 정의하는 방법
C#a에서RemoveAllFilesByExtenstion
예를 들어 서브루틴은 다음과 같이 디클레어 될 수 있습니다.
void RemoveAllFilesByExtenstion(string targetFolderPath, string ext)
{
...
}
다음과 같이 사용됩니다.
RemoveAllFilesByExtenstion("C:\Logs\", ".log");
PowerShell 스크립트 파일(ps1)에서 동일한 서명을 가진 서브루틴을 정의하고 호출하려면 어떻게 해야 합니까?
이를 PowerShell로 변환하는 것은 매우 간단합니다.
function RemoveAllFilesByExtenstion([string]$targetFolderPath, [string]$ext)
{
...
}
그러나 호출은 공백으로 구분된 인수를 사용해야 하지만 문자열에 PowerShell 특수 문자가 없는 한 따옴표가 필요하지 않습니다.
RemoveAllFilesByExtenstion C:\Logs\ .log
OTOH, 기능이 원하는 작업을 나타내면 PowerShell에서 쉽게 수행할 수 있습니다.
Get-ChildItem $targetFolderPath -r -filter $ext | Remove-Item
PowerShell에는 서브루틴이 없으므로 다음과 같은 기능이 필요합니다.
function RemoveAllFilesByExtenstion
{
param(
[string]$TargetFolderPath,
[string]$ext
)
... code...
}
호출하기
RemoveAllFilesByExtenstion -TargetFolderPath C:\Logs -Ext *.log
값을 반환하는 함수가 없는 경우 함수 내부의 명령에서 반환되는 결과를 캡처해야 합니다.
언급URL : https://stackoverflow.com/questions/9262373/how-to-define-a-subroutine-in-powershell
반응형
'programing' 카테고리의 다른 글
jQuery agax는 IE 디버거가 열려 있을 때만 IE에서 작동합니다. (0) | 2023.09.04 |
---|---|
ImeOptions의 완료 버튼 클릭은 어떻게 처리합니까? (0) | 2023.09.04 |
왜 PHP가 오류 코드 없이 mysqli_connect에 고착됩니까? (0) | 2023.09.04 |
jQuery를 사용하여 JavaScript 오브젝트 속성 반복 (0) | 2023.09.04 |
AlarmManager에 알람이 이미 설정되어 있는지 확인하는 방법은 무엇입니까? (0) | 2023.09.04 |