0
폴더에 특정 형식의 파일 (예 : .txt
, .csv
, .xls
, .xlsx
)이있는 경우에만 폴더를 보관하는 PowerShell 스크립트를 작성하는 방법. 내 소스 경로가 C:\Temp\Test\
이고 5 하위 폴더가 있습니다 :폴더에 특정 파일 형식이있는 경우에만 폴더 보관
- 폴 데라
- folderb
- folderc
- folderd는
- foldere
- 아카이브
만 foldera
, folderb
, folderc
아카이브 경로가 C:\Temp\Test\Archive
이고 여기에 folders
foldera
, folderb
이므로 이러한 폴더를 만들 필요는 없지만 파일을 압축하여 복사해야하므로 folderc
을 만들어야하고 파일을 압축하여 복사해야합니다.
나는 파일이 아닌 특정 파일에 있던 폴더를 얻을 수 아래의 코드를 사용하여.
$ignorefolders = @(
"C:\Temp\misc"
)
$archive = "C:\Temp\Archive"
[regex]$exclude = ‘(?i)^(‘ + (($ignorefolders |foreach {[regex]::escape($_)}) –join “|”) + ‘)’
$includefiletype = @("*.txt", "*.csv", "*.dat", "*.xls", "*.xlsx")
$workingDir = "C:\Temp"
Get-ChildItem $workingDir -recurse -include $fileFilter | Where {$_.FullName -notmatch $exclude} | Copy-Item -Destination $archive
내가 오류 "복사-항목 드라이브를 찾을 수 없습니다"얻을 안 복사-항목이 지정된 경로. Copy-Item을 "Copy-Item -Path $ source -Destination $ archive -WhatIf"로 변경하면 매개 변수 바인딩 오류가 발생합니다. – user25407
Copy-Item처럼 보이지는 않지만, FileInfo 객체를 입력으로 사용하기 때문에 Copy-Item으로 보내기 전에 속성을 확장하는 편집이 가능합니다. 그러나 원하는대로 할 수 없다는 느낌이 들었습니다. Copy-Item에 -Recurse 인수를 추가하려고합니다. – zdan
아래 스크립트를 사용하여 파일 및 폴더를 필터링 할 수 있습니다. 그러나 폴더 만 복사하면 모든 파일이 외부로 복사됩니다. 파일이있는 폴더를 어떻게 복사합니까? – user25407