删除文件夹和子文件夹如果不使用(Powershell)

问题描述:

我是一个初学者的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

你可以尝试这样的事:

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