PowerShell에서 USB Drive를 백업
Step 1 : 탐색
Get-ChildItem Cmdlet을 이용해서 USB 드라이브 전체 폴더를 탐색을 할 수 있습니다.
Get-ChildItem $usbdrive -recurse
Step 2 : 파일 비교
아래와 같이 마지막으로 수정된 시간을 비교해서 변경된 파일인지 확인 후 복사를 시작을 합니다.
$checkFile = Get-Item <”백업 파일 전체 이름”>
$backupFile = <백업하는 파일 객체>
if($checkFile.LastWriteTime –gt $backupFile.LastWriteTime)
{
Write-Host "Copy $backupFile.FullName"
Copy-Item -Path $backupFile.FullName -Destination $checkFile -Force
}
Step 3 : Full Script
아래의 함수는 특정 USB를 지정을 하면 특정 폴더에 백업을 시작을 합니다. 기존에 백업본이 작성되었을 경우 변경된 파일만 백업을 합니다.
function BackUp-USB{
param(
[Parameter(Mandatory=$true)]
$backupPath,
[Parameter(Mandatory=$true)]
$usbDrive
)
if(!(Test-Path $backupPath))
{
New-Item $backupPath -type directory
}
Get-ChildItem $usbdrive -recurse | % {
$checkFile = $_.FullName.Replace($usbDrive, $backupPath)
if(Test-Path $checkFile)
{
if((Get-Item $checkFile).LastWriteTime -gt $_.LastWriteTime)
{
Write-Host "Copy $_.FullName"
Copy-Item -Path $_.FullName -Destination $checkFile -Force
}
}
else
{
Write-Host "Copy $_.FullName"
Copy-Item -Path $_.FullName -Destination $checkFile -Force
}
}
}
BackUp-USB "C:\USBArchive" "K:"
참고 자료
Get-ChildItem
http://technet.microsoft.com/ko-kr/library/dd347686.aspx
'Windows' 카테고리의 다른 글
MOS 마스터 인증 이미지... (0) | 2012.01.26 |
---|---|
PowerShell 문자열 연산자 (0) | 2012.01.25 |
불법 소프트웨어 확인하기 - 소프트웨어 자가 진단 웹서비스 (Active-X 방식) (0) | 2012.01.12 |
Outlook을 사용하여 계정간 데이터 이동 (0) | 2011.11.30 |
아웃룩에서 삭제한 메일 계정의 데이터를 읽으려면 (0) | 2011.10.31 |