반응형
Powershell: 폴더 및 하위 폴더의 모든 파일을 단일 폴더로 이동
8K 파일과 2K 폴더 내의 파일을 인덱싱하고 검색하려고 합니다.
폴더 및/또는 하위 폴더의 모든 파일을 하나의 기본 폴더로 이동할 수 있는 간단한 Powershell 스크립트가 있습니까?
빈 폴더를 삭제할 필요는 없지만 도움이 될 것입니다.
아래의 네번째 예.help -Examples Move-Item
[1] 당신이 필요로 하는 것에 가깝습니다.아래의 모든 파일을 이동하려면SOURCE
에 대한 디렉토리DEST
디렉토리를 사용할 수 있습니다.
Get-ChildItem -Path SOURCE -Recurse -File | Move-Item -Destination DEST
나중에 빈 디렉토리를 지우려면 비슷한 명령을 사용할 수 있습니다.
Get-ChildItem -Path SOURCE -Recurse -Directory | Remove-Item
[1] https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.management/move-item
사용하다.parent
부모님을 위해서요재귀적으로 사용할 수 있습니다..parent.parent
다른 답변은 중복된 파일 때문에 저에게 오류로 이어졌습니다.제 코드는 중복 파일에 '_x'를 붙여서 이 문제를 해결합니다.또한 파일이 남아있지 않을 경우에만 제거가 가능해야 합니다.
$files = Get-ChildItem -Path . -Recurse -File
foreach ($file in $files) {
$dest = Join-Path . $file.Name
if (Test-Path $dest) {
$i = 1
do {
$newName = "$($file.BaseName)_$i$($file.Extension)"
$newDest = Join-Path . $newName
$i++
} while (Test-Path $newDest)
Move-Item -Path $file.FullName -Destination $newDest
} else {
Move-Item -Path $file.FullName -Destination $dest
}
}
Get-ChildItem -Directory | Where-Object {(Get-ChildItem $_ -Recurse -File).count -eq 0} | ForEach-Object {Remove-Item $_ -Recurse}
언급URL : https://stackoverflow.com/questions/38063424/powershell-move-all-files-from-folders-and-subfolders-into-single-folder
반응형
'sourcetip' 카테고리의 다른 글
배열과 포인터를 포함하는 이 코드가 왜 그렇게 작동합니까? (0) | 2023.10.20 |
---|---|
지정된 스키마로 빈 DataFrame을 만드는 방법은? (0) | 2023.10.20 |
자신의 보필은 현실적인 문제인가요, 아니면 역사적인 문제인가요? (0) | 2023.10.20 |
스위프트에서 관련 객체를 설정하는 방법이 있습니까? (0) | 2023.10.20 |
로컬 호스트에서만 get/post 요청 수락 (0) | 2023.10.20 |