3
나는 다음파일을 복사하고 "에서 CreationDate"
와 별도의 폴더에 내 모든 MTS-파일 (비디오)를 복사하고Get-ChildItem C:\pictures -force | Group-Object extension | Sort-Object count -descending | ft count,name -auto
내 그림 폴더에있는 모든 파일을 계산하고 기반으로 새로운 폴더를 생성
Get-ChildItem C:\pictures -force -recurse -include *.MTS | Copy-Item -Destination c:\video
잘 작동합니다. 하지만, 어떻게하면 c:\video
에 매년 폴더를 만들고 해당 파일을 복사 할 수 있습니까?
UPDATE :
셰이이 달성에 도움이되었습니다 나는 이제 다음 코드를 :
# Create a folder for each year and move the specified files to the corresponding folders
Get-ChildItem $fromFolder -Force |
Group-Object {$_.CreationTime.Year} | Foreach-Object {
# Testing to see if the folder exist
if(!(Test-Path $toFolder\$($_.Name))) {
$folder = New-Item -Path "$toFolder\$($_.Name)" Itemtype Directory -Force
echo "Created $toFolder\$($_.Name)"
} else {
echo "Folder $toFolder\$($_.Name) exist"
}
# Testing to see if the file exist in the target directory
if(!(Test-Path $_.group)) {
$_.group | Copy-Item -Destination $folder.FullName
echo "Copyied $_ to $folder"
} else {
echo "File exist"
}
}
그것은 폴더 확인을 테스트하지만, 파일에있는 모든 Test-Path
를 건너 뜁니다. 어떻게 든 루프를 깰 수 있습니까? 아니면 파이프 라인을 엉망으로 만들어?
가 대단히 셰이 감사합니다! 이 작품! 그러나 복사하고 싶습니다. 이동하지 마십시오. 폴더 나 파일이 이미 이동했는지 테스트하려고합니다 (이 스크립트는 수시로 실행됩니다.). 내 질문을 내 코드로 업데이트했습니다. 다시 고마워 Shay :) – Sune
파일을 복사하려면 Move-Item을 Copy-Item으로 바꿉니다. 코드를 업데이트합니다. Desination 경로에 존재하지 않는 파일 만 전달하는 (파일 이름으로 테스트 한) Where-Object도 추가했습니다. –
대단히 감사합니다! 환상적! (나는 copy-item에 대해 알고있다. 나는 단지 당신보다 잘 알고있다.) 내 스크립트가 100GB 이상의 데이터를 스캔하고 있으며 어떤 종류의 상태를 표시하려고하는데 스크립트가 어떻게 실행되는지 혼란 스럽다. .. 모든 디렉토리를 스캔 한 다음 결과를 파이프 라인으로 전달하고 각 객체를 foreaching합니까? 화면 상태를 어떻게 적절하게 만들 수 있습니까? Shay, Powershell을 배우는 데있어서 나의 최고의 선생님 중 한 명이었습니다. :) – Sune