2017-05-30 232 views
0

我是一個初學者的PowerShell用戶。刪除文件夾和子文件夾如果不使用(Powershell)

我需要一個PowerShell腳本。它必須做到:

\\routefolders\xxxxx 
\\routefolders\jhon 
\\routefolders\mike 
\\routefolders\sandra 
. 
. 
. 
etc... 

找到文件更新超過2年

如果\ routefolders存在着一些文件\ XXXXX 「XXXXX」(在所有子文件夾搜索)什麼都不做

如果文件中沒有比2年更新的文件,並且刪除文件夾和子文件夾\ routefolders \ xxxxx

「XXXXX」文件夾是用戶個人文件夾,如果用戶不使用這個我想保存日誌然後刪除這個文件夾

我有這個,要刪除一個特定的文件夾。我需要一些PS這樣的:

$RootDir="c:\temp\test" 
$Users = Get-ChildItem $RootDir -Name 
$FolderToDelete = "subcarpeta1" 


foreach ($user in $Users){ 

    $n = $n +1 
    write-host $n $user 

    #Remove-Item -path $rootdir\$user\$FolderToDelete -Force -Recurse 
} 
+2

[?如何遞歸刪除使用PowerShell 2.0的整個目錄(HTTPS的可能重複://計算器。 COM /問題/ 1752677 /如何對遞歸刪除-AN-整個目錄與 - PowerShell的2-0) – LuFFy

回答

0

你可以嘗試這樣的事:

function Safely-Delete($fileItem) 
{ 

    if($fileItem.FullName.StartsWith("your path")) 
    {   
     Set-Location $fileItem.FullName 
     Write-Host "Removing Item: $fileItem" 
     Remove-Item $fileItem.FullName -Recurse 
    } 
} 

function Remove-File($path, $ageInYears) 
{ 
    foreach($childItem in Get-ChildItem -Path $path) 
    { 
     if($childItem.Lastwritetime -lt (date).AddYears(-$ageInYears)) 
     { 
      Safely-Delete $childItem 
     } 
    } 
} 

$age = 2 
Remove-File "your path" $age 
相關問題