2014-03-26 5 views
0

CD-ROM 또는 DVD 디스크를 읽고 내용을 복사하는 PowerShell 2 스크립트 작업 중 -주의 할 점은 특정 파일 형식을 검사하고 아무것도 복사하지 말아야한다는 것입니다 해당 파일 형식으로 지금까지 나는이 작업을했습니다 :특정 파일 형식을 제외한 powershell 복사 디스크

올바른 위치에 빈 폴더를 만들고 적절한 위치에 (허용되는) 파일을 복사하는 데 문제가 있습니다.

도움이 될 것입니다.

$user = read-host "Enter owner's username:" 
$drv = read-host "Enter Optical Drive letter (no colons or slashes):" 

$list = Import-Csv badtypes.csv 
$Exclusions = "*.$($list.Extension -join ",*.")" 
$DestFolder = New-Item -path "\\BAAC\homedir\$user\transfer\$(get-date -f MMddyyyy.HH.mm)" -ItemType Directory 
$FilePath = $drv +":\" 

Write-Host "Copying files from $FilePath to $DestFolder`:" 

Copy-Item "$FilePath*" -Destination $DestFolder -Exclude $Exclusions -Recurse -PassThru 
explorer $DestFolder 

정말 사용자의 이름이 필요하지 않습니다,하지만 난 거기에 그것을 왼쪽 : PowerShell은 솔루션을 고집

+3

ROBOCOPY를 사용해 보셨습니까? 구성이 가능하고 사용 가능한 종료 코드 및 로그 파일을 반환합니다. – andyb

답변

0

, 크기에이 입어. 다음은 스크립트가 무엇을 할 것입니다 :

  • 그것은
  • 제외 할 확장명 목록을 가져옵니다 드라이브 문자를 얻을, 그들로부터 문자열 (결과 문자열이 CSV가 있었다 "*.bat,*.exe,*.com"경우 3 개 항목과 같은 것을 구축 박쥐, exe 및 com).
  • 원하는 폴더에 날짜/시간 형식의 폴더를 만듭니다.
  • 그런 다음 파일과 폴더를 제외 목록의 항목을 제외하고 새 폴더에 반복적으로 복사합니다.
  • 마지막으로 최근에 복사 된 모든 파일과 폴더를 포함하여 생성 된 대상 폴더로 Windows 탐색기 창이 열립니다.

편집 : 주석에 지정된 경로를 사용하도록 업데이트되었습니다. 이 답변이 귀하의 질문에 대한 해결책을 제공한다면, 미래의 사용자가 그것을 찾을 수 있고 질문을 반복하지 않고도 사용할 수 있도록 선택한 답변으로 표시하십시오.

+0

고마워요! 따라서이 작업을 수행하는 사람이 미디어 소유자가 아니기 때문에 사용자의 임시 폴더 경로가 이상합니다. 따라서 파일을 작성하기 위해 서비스 계정 (이러한 스크립트에 사용되는 관리자)도 필요합니다. 디렉토리는 다음과 같습니다. \\ BAAC \ homedir \ username \ transfer \ newFolderNameByDate.hour.minute – Potemkyn

+0

대상 경로와 일치하도록 내 답변을 업데이트했습니다. 문제의 해결 방법을 제공 할 경우 답을 해결책으로 표시하십시오. – TheMadTechnician

+0

굉장! 나는 그것도 작동시킬 수 있었지만, 당신의 버전은 훨씬 더 매끄 럽습니다! 나는 해결책으로 이것을 체크했다 - 나는 그것을 투표 할 수 있기를 바란다. 다시 감사합니다! – Potemkyn

관련 문제