2017-10-05 2 views
0

파일을 월 폴더 인 폴더로 매일 이동해야합니다. 새 달이 오면 스크립트는 새로 작성한 폴더 (다른 스크립트로 작성 함)를 식별하고 파일을 새 폴더로 푸시해야합니다. 이제 년도가 바뀌면 스크립트는 새해를 가진 폴더를 식별하고 해당 월의 하위 폴더 아래에서 해당 새 하위 폴더로 파일을 푸시해야합니다.새로 만든 하위 폴더로 파일 이동

혼란스러운 경우 죄송합니다. PowerShell을 사용하여 다른 폴더로 파일을 이동하는 방법을 알고 있지만 그 계층 구조로 들어가는 방법을 아는 데 도움이 필요합니다.

+0

지금까지 시도한 것을 보여주십시오. Get-Date 명령을 사용하여이 작업을 수행 할 수 있으며 매우 잘 문서화되어 있습니다. –

답변

0

은 다음과 같이 뭔가를 시도 :

$CurrentDate=get-date 
$year, $month= $CurrentDate.Year, $CurrentDate.Month 
$storagedir="c:\temp\$year\$month" 

if (! (Test-Path $storagedir)) 
{ 
    New-Item -ItemType Directory $storagedir 
} 

Move-Item "C:\temp\dbhash.csv" $storagedir -Force 
+0

정말 고마워요. 월 이름을 얻는 방법에 대한 제안은 $ year, $ month = $ CurrentDate.Year, $ CurrentDate.MonthNames를 시도했지만 작동하지 않았습니다. –

+0

시도해보기 : (Get-Culture) .DateTimeFormat.GetMonthName ($ month) – Esperento57

+0

덕분에 다른 방법으로 이미 사용했습니다. 그러나이 스크립트를 다시 실행하여 동일한 하위 폴더에서 다른 파일을 이동했을 때 하위 폴더가 같은 월로 동일하게 유지되므로 해당 월의 동일한 하위 폴더에서 파일을 이동할 수 있어야합니다. . –

0

은 결코 마음이있어. 다음은 나를 위해 완벽하게 작동하는 최종 스크립트입니다.

$CurrentDate=get-date 
$year = $CurrentDate.Year 
$folderName = (Get-Date).tostring("dd-MM-yyyy-hh") 
$storagedir="C:\Users\$year\$folderName" 
if (! (Test-Path $storagedir)) 
{ 
    New-Item -ItemType Directory $storagedir 
    } 
if (Test-Path $storagedir) 
{ 

Move-Item "C:\Users" $storagedir -Force 
} 
관련 문제