2013-07-26 2 views
0

현재 700 일이 넘은 파일을 삭제하는 스크립트를 작성하고 있습니다. 스크립트의 그 비트가 잘 작동하고 있습니다. 나는 그것을 시험했으며 작동한다. 필자는 이제 "제거 된 파일의 이름"이라는 텍스트 파일을 남겨두고 서비스 데스크에 연락하여 파일이 복원되도록 요청하는 방법을 자세히 설명했습니다. 나는 이것을 어떻게 할 것인지 잘 모른다. 너 나 좀 도와 줄래? 당신은 그래서 당신은 당신이 삭제 각 파일에 필요한 텍스트 파일을 만들 수있는 기회를 얻을 ForEach-Object에 파이프해야한다는 점에 대한Powershell에서 파일을 삭제하고 텍스트 파일을 남깁니다.

foreach ($path in Get-Content "pathList.txt") { 
    Write-Host "Trying to delete files older than 700 days, in the folder $path" -ForegroundColor Green 
    Get-ChildItem $path -Recurse -Include "*.*" | 
     WHERE {($_.CreationTime -le $(Get-Date).AddDays(-700))} | 
      Remove-Item -Force 
} 

답변

2

:

여기 내 삭제 스크립트입니다.

Get-ChildItem $path -Recurse -Include "*.*" | 
    WHERE {($_.CreationTime -le $(Get-Date).AddDays(-700))} | 
     ForEach-Object { 
      $text_file = [io.path]::ChangeExtension($_, 'txt') 
      "Call help desk blah blah" | sc $text_file -Encoding ascii 
      $_ | Remove-Item -Force 
     } 
+0

$ [. 나 별칭이 나쁘다, sc = 세트 내용. –

+0

@BobLobLaw 시도해주세요 :) –

+0

'New-Item -Path. -Name asdf - 항목 유형 파일 | % {[io.path] :: ChangeExtension ($ _, 'txt')}'멋지다! 누가 새로운 것을 배웠는지 알 것 같네요 ->이 사람! <- –