다른 사람들과는 조금 다릅니다. 처리 할 파일의 배열 목록을 검색 중입니다 (기본적으로 로컬 컴퓨터에서 DLL 등록 처리). 동일한 이름의 여러 DLL을 제대로 처리하려면 스크립트가 필요합니다. 는 select -Unique
기술적으로 파일이 아니기 때문에 복제하지 작업을 수행 - 각각의 고유 한 전체 경로를 가지고있다.
폴더 (및 하위 폴더)의 모든 DLL을 검색하려면이 스크립트가 필요하지만 각 명명 된 파일의 마지막 인스턴스 만 반환합니다. 예를 들어 파일이있는 경우 :
스크립트는 Update3 \ GRM.DLL 및 Update1 \ HTCP.DLL에 대한 개체를 반환해야합니다.
[System.Collections.ArrayList]$dlls = @(Get-ChildItem -Path $PSScriptRoot -Recurse | Where-Object
{$_.Extension -eq ".dll" -and $_.FullName -notmatch 'dll_Old'})
편집 : 이것으로 진행되지만 나타나는 첫 번째 인스턴스를 선택하고 마지막 인스턴스가 필요합니다. 이 예에서는 Update3 / GRM.DLL 대신 Update1 / GRM.DLL이 걸리고 있음을 의미합니다.
$dlls = @(Get-ChildItem -Path $PSScriptRoot -Recurse | Where-Object {$_.Extension -eq ".dll" -and $_.FullName -notmatch 'dll_Old'}) | Select-Object -Unique
해시 테이블을 사용하여 특정 파일 이름에 대해 마지막으로 본 파일을 추적합니다.
$files = @{}
Get-ChildItem -Path $PSScriptRoot -File -Recurse -Filter *.dll |Where-Object FullName -notmatch 'dll_Old' |ForEach-Object {
$files[$_.Name] = $_
}
$uniqueFiles = $files.Values
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다