在 PowerShell 中强制删除目录及其所有子目录的最简单方法是什么?我在 Windows 7 中使用 PowerShell V2。
我从几个来源了解到,最明显的命令 Remove-Item $targetDir -Recurse -Force
不能正常工作。这包括 PowerShell V2 在线帮助(使用 Get-Help Remove-Item -Examples
找到)中的声明:
...由于此 cmdlet 中的 Recurse 参数有问题,该命令使用 Get-Childitem cmdlet 获取所需文件,并使用管道运算符将它们传递给 Remove-Item cmdlet...
我见过各种使用 Get-ChildItem 并将其通过管道传递给 Remove-Item 的示例,但是这些示例通常会根据过滤器而不是整个目录来删除某些文件集。
我正在寻找最干净的方法来清除整个目录、文件和子目录,而不会使用最少的代码生成任何用户警告消息。如果它易于理解,单行将很好。
RD /S /Q
rd
是 powershell 中 Remove-Item
的别名。 cmd /c "rd /s /q"
有效。
Remove-Item -Recurse -Force some_dir
确实像这里宣传的那样工作。
rm -r -fo some_dir
是也可以使用的速记别名。
据我了解,当您尝试递归删除一组过滤的文件时,-Recurse
参数无法正常工作。为了杀死一个目录和它下面的所有东西似乎工作正常。
我用了:
rm -r folderToDelete
这对我来说就像一个魅力(我从 Ubuntu 偷来的)。
rm
是 PowerShell 默认配置中 Remove-Item
的别名。查看 Get-Alias rm
的输出以获取更多详细信息。 -r
正在利用 PowerShell 对参数的部分匹配行为。由于 Remove-Item
只有一个以 'r' 开头的参数,-Recurse
,-r
与之匹配。因此,以下所有操作都将相同:rm -r
、rm -re
、Remove-Item -Recurse
。 (请注意,rm -rf
和 rm -r -f
都不起作用,但 rm -r -fo
会。-rf
不匹配任何参数,而 -f
匹配多个参数。)
-R
而不是 -r
(尽管据我所知 PowerShell 就像 Windows 的其余部分一样,不区分大小写,因此它不应该有所作为)但我得到一个错误,我的文件夹'正在尝试删除的不是空的。
rm -r -fo
(rm -r -f
也不起作用,因为 -f
参数不明确,因为它可以同时匹配 -Force
和 -Filter
)。
使用简单的 Remove-Item "folder" -Recurse
递归删除文件时,我有时会看到间歇性错误:[folder] cannot be removed because it is not empty.
此答案试图通过单独删除文件来防止该错误。
function Get-Tree($Path,$Include='*') {
@(Get-Item $Path -Include $Include -Force) +
(Get-ChildItem $Path -Recurse -Include $Include -Force) |
sort pspath -Descending -unique
}
function Remove-Tree($Path,$Include='*') {
Get-Tree $Path $Include | Remove-Item -force -recurse
}
Remove-Tree some_dir
一个重要的细节是使用 pspath -Descending
对所有项目进行排序,以便在根之前删除叶子。排序是在 pspath
参数上完成的,因为它有更多机会为文件系统以外的提供者工作。如果您想过滤要删除的项目,-Include
参数只是一种方便。
它分为两个功能,因为我发现通过运行查看我将要删除的内容很有用
Get-Tree some_dir | select fullname
remove-item -recurse
仍然会出现间歇性错误,所以这个解决方案最适合我。
rm -r ./folder -Force
...为我工作
试试这个例子。如果目录不存在,则不会引发错误。您可能需要 PowerShell v3.0。
remove-item -path "c:\Test Temp\Test Folder" -Force -Recurse -ErrorAction SilentlyContinue
如果您致力于 powershell,则可以使用它,如接受的答案中所述:
rm -r -fo targetDir
但我发现使用 Windows 命令提示符更快
rmdir /s/q targetDir
除了速度更快之外,使用命令提示符选项的另一个优点是它会立即开始删除文件(powershell 首先会进行一些枚举),因此如果在运行时出现问题,您至少在删除文件方面取得了一些进展。
rmdir
具有成功删除只读文件(如在 .git
文件夹中)的额外好处——在旧的 powershell 版本中,(get-item targetDir).Delete($true)
将无法删除 git 存储库。
使用老式的 DOS 命令:
rd /s <dir>
/q
(安静模式,不要询问是否可以使用 /S 删除目录树)。
出于某种原因,约翰里斯的回答有时对我来说不起作用。但它引导我朝以下方向发展。首先,我尝试使用 buggy -recurse 选项递归地删除目录。之后我进入每个剩余的子目录并删除所有文件。
function Remove-Tree($Path)
{
Remove-Item $Path -force -Recurse -ErrorAction silentlycontinue
if (Test-Path "$Path\" -ErrorAction silentlycontinue)
{
$folders = Get-ChildItem -Path $Path –Directory -Force
ForEach ($folder in $folders)
{
Remove-Tree $folder.FullName
}
$files = Get-ChildItem -Path $Path -File -Force
ForEach ($file in $files)
{
Remove-Item $file.FullName -force
}
if (Test-Path "$Path\" -ErrorAction silentlycontinue)
{
Remove-Item $Path -force
}
}
}
为避免已接受答案的“目录不为空”错误,只需使用之前建议的旧 DOS 命令即可。准备好复制粘贴的完整 PS 语法是:
& cmd.exe /c rd /S /Q $folderToDelete
del <dir> -Recurse -Force # I prefer this, short & sweet
或者
remove-item <dir> -Recurse -Force
如果你有一个巨大的目录,那么我通常做的是
while (dir | where name -match <dir>) {write-host deleting; sleep -s 3}
在另一个 powershell 终端上运行它,完成后它将停止。
删除整个文件夹树有时会起作用,有时会因“目录不为空”错误而失败。随后尝试检查该文件夹是否仍然存在可能会导致“拒绝访问”或“未经授权的访问”错误。我不知道为什么会发生这种情况,但可以从 this StackOverflow posting 中获得一些见解。
通过指定删除文件夹中项目的顺序以及添加延迟,我已经能够解决这些问题。以下对我来说运行良好:
# First remove any files in the folder tree
Get-ChildItem -LiteralPath $FolderToDelete -Recurse -Force | Where-Object { -not ($_.psiscontainer) } | Remove-Item –Force
# Then remove any sub-folders (deepest ones first). The -Recurse switch may be needed despite the deepest items being deleted first.
ForEach ($Subfolder in Get-ChildItem -LiteralPath $FolderToDelete -Recurse -Force | Select-Object FullName, @{Name="Depth";Expression={($_.FullName -split "\\").Count}} | Sort-Object -Property @{Expression="Depth";Descending=$true}) { Remove-Item -LiteralPath $Subfolder.FullName -Recurse -Force }
# Then remove the folder itself. The -Recurse switch is sometimes needed despite the previous statements.
Remove-Item -LiteralPath $FolderToDelete -Recurse -Force
# Finally, give Windows some time to finish deleting the folder (try not to hurl)
Start-Sleep -Seconds 4
PowerShell 中的 Microsoft TechNet 文章 Using Calculated Properties 对我获取按深度排序的子文件夹列表很有帮助。
RD /S /Q 的类似可靠性问题可以通过在 RD /S /Q 之前运行 DEL /F /S /Q 并在必要时再次运行 RD 来解决 - 最好在两者之间暂停(即使用所示的 ping以下)。
DEL /F /S /Q "C:\Some\Folder\to\Delete\*.*" > nul
RD /S /Q "C:\Some\Folder\to\Delete" > nul
if exist "C:\Some\Folder\to\Delete" ping -4 -n 4 127.0.0.1 > nul
if exist "C:\Some\Folder\to\Delete" RD /S /Q "C:\Some\Folder\to\Delete" > nul
由于底层文件系统是异步的,似乎存在 Remove-Item -Force -Recurse
可能在 Windows 上间歇性失败的问题。 This answer 似乎解决了这个问题。该用户还积极参与了 Powershell 团队 on GitHub。
在 PowerShell $profile
中添加自定义函数:
function rmrf([string]$Path) {
try {
Remove-Item -Recurse -ErrorAction:Stop $Path
} catch [System.Management.Automation.ItemNotFoundException] {
# Ignore
$Error.Clear()
}
}
这是 rm -rf
行为的最准确表示。
另一个有用的技巧:
如果您发现许多具有相同或相似名称约定的文件(例如带有点前缀名称的 mac 文件......那个著名的文件 pulltion),您可以像这样从 powershell 中用一行轻松删除它们:
ls -r .* | rm
此行将删除当前目录中名称开头带有点的所有文件,以及该目录中其他文件夹中具有相同情况的所有文件。使用时要注意它。 :D
rm -rf .*
?我没有要测试的powershell,但我认为它会起作用。
我采用了受上述@john-rees 启发的另一种方法——尤其是当他的方法在某些时候开始对我失败时。基本上递归子树并按路径长度对文件进行排序 - 从最长到最短删除
Get-ChildItem $tfsLocalPath -Recurse | #Find all children
Select-Object FullName,@{Name='PathLength';Expression={($_.FullName.Length)}} | #Calculate the length of their path
Sort-Object PathLength -Descending | #sort by path length descending
%{ Get-Item -LiteralPath $_.FullName } |
Remove-Item -Force
关于 -LiteralPath 魔法,这里有另一个可能会打击你的问题:https://superuser.com/q/212808
虽然 rm -r 产生良好的结果,但以下方法更快:
$fso = New-Object -ComObject scripting.filesystemobject
$fso.DeleteFolder("D:\folder_to_remove")
要对此进行测试,您可以轻松地创建一个包含 X 文件的文件夹(我使用:Disk Tools 来快速生成文件)。
然后使用以下命令运行每个变体:
Measure-Command {rm D:\FOLDER_TO_DELETE -r}
Measure-Command {Remove-Item -Path D:\FOLDER_TO_DELETE -Recurse -Force}
Measure-Command {rd -r FOLDER_TO_DELETE }
$fso.DeleteFolder("D:\folder_to_remove")
Measure-Command {$fso.DeleteFolder("D:\FOLDER_TO_DELETE")}
我的测试文件夹上的结果是:
Remove-Item - TotalMilliseconds : 1438.708
rm - TotalMilliseconds : 1268.8473
rd - TotalMilliseconds : 739.5385
FSO - TotalMilliseconds : 676.8091
结果各不相同,但在我的系统上,获胜者是 fileSystemObject。我建议在目标文件系统上对此进行测试,看看哪种方法最适合您。
真的很简单:
remove-item -path <type in file or directory name>, press Enter
要删除包括文件夹结构在内的完整内容,请使用
get-childitem $dest -recurse | foreach ($_) {remove-item $_.fullname -recurse}
添加到 remove-item
的 -recurse
可确保禁用交互式提示。
基于 @John Rees 的 answer 并进行了一些改进。
初始文件树。 /F
C:\USERS\MEGAM\ONEDRIVE\ESCRITORIO\PWSHCFX
│ X-Update-PowerShellCoreFxs.ps1
│ z
│ Z-Config.json
│ Z-CoreFxs.ps1
│
├───HappyBirthday Unicorn
│ collection-of-unicorns-and-hearts-with-rainbows.zip
│ hand-drawing-rainbow-design.zip
│ hand-drawn-unicorn-birthday-invitation-template (2).zip
│ hontana.zip
│ Unicorn - Original.pdf
│ Unicorn-free-printable-cake-toppers.png
│ Unicorn.pdf
│ Unicorn.png
│ Unicorn2.pdf
│ Unicorn3.pdf
│ Unicorn4.pdf
│ Unicorn5.pdf
│ UnicornMLP.pdf
│
├───x
└───y
代码
function Get-ItemTree() {
param (
[Parameter()]
[System.String]
$Path = ".",
[Parameter()]
[System.String]
$Include = "*",
[Parameter()]
[switch]
$IncludePath,
[Parameter()]
[switch]
$Force
)
$result = @()
if (!(Test-Path $Path)) {
throw "Invalid path. The path `"$Path`" doesn't exist." #Test if path is valid.
}
if (Test-Path $Path -PathType Container)
{
$result += (Get-ChildItem "$Path" -Include "$Include" -Force:$Force -Recurse) # Add all items inside of a container, if path is a container.
}
if($IncludePath.IsPresent)
{
$result += @(Get-Item $Path -Force) # Add the $Path in the result.
}
$result = ,@($result | Sort-Object -Descending -Unique -Property "PSPath") # Sort elements by PSPath property, order in descending, remove duplicates with unique.
return $result
}
function Remove-ItemTree {
param (
[Parameter()]
[System.String]
$Path,
[Parameter()]
[switch]
$ForceDebug
)
(Get-ItemTree -Path $Path -Force -IncludePath) | ForEach-Object{
Remove-Item "$($_.PSPath)" -Force
if($PSBoundParameters.Debug.IsPresent)
{
Write-Debug -Message "Deleted: $($_.PSPath)" -Debug:$ForceDebug
}
}
}
Write-Host "███ Test 1"
$a = Get-ItemTree "./Z-Config.json" -Force -Include "*" -IncludePath:$true # Tree of a file path. 1 element the file (IncludePath parameter = $true)
$a | Select-Object -ExpandProperty PSPath | ConvertTo-Json
Write-Host
Write-Host "███ Test 2"
$b = Get-ItemTree "./Z-Config.json" -Force -Include "*" -IncludePath:$false # Tree of a file path. No Result (IncludePath parameter = $false)
$b | Select-Object -ExpandProperty PSPath | ConvertTo-Json
Write-Host
Write-Host "███ Test 3"
$c = Get-ItemTree "." -Force -Include "*" -IncludePath:$true # Tree of a container path. All elements of tree and the container included (IncludePath parameter = $true).
$c | Select-Object -ExpandProperty PSPath | ConvertTo-Json
Write-Host
Write-Host "███ Test 4"
$d = Get-ItemTree "." -Force -Include "*" -IncludePath:$false # All elements of tree, except the container (IncludePath parameter = $false).
$d | Select-Object -ExpandProperty PSPath | ConvertTo-Json
Write-Host
Remove-ItemTree -Path "./HappyBirthday Unicorn" -Debug -ForceDebug #Remove the contents of container and remove the container. -Debug Prints debug messages and -ForceDebug forces to prints messages if DebugPreference is SilentlyContinue.
Remove-ItemTree -Path "./x" -Debug -ForceDebug #Remove the contents of container and remove the container. -Debug Prints debug messages and -ForceDebug forces to prints messages if DebugPreference is SilentlyContinue.
Remove-ItemTree -Path "./y" -Debug -ForceDebug #Remove the contents of container and remove the container. -Debug Prints debug messages and -ForceDebug forces to prints messages if DebugPreference is SilentlyContinue.
Remove-ItemTree -Path "./z" -Debug -ForceDebug #Remove file. -Debug Prints debug messages and -ForceDebug forces to prints messages if DebugPreference is SilentlyContinue.
Get-ChildItem -Force
输出
███ Test 1
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\Z-Config.json"
███ Test 2
███ Test 3
[
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\Z-CoreFxs.ps1",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\Z-Config.json",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\z",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\y",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\X-Update-PowerShellCoreFxs.ps1",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\x",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\HappyBirthday Unicorn\\UnicornMLP.pdf",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\HappyBirthday Unicorn\\Unicorn5.pdf",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\HappyBirthday Unicorn\\Unicorn4.pdf",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\HappyBirthday Unicorn\\Unicorn3.pdf",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\HappyBirthday Unicorn\\Unicorn2.pdf",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\HappyBirthday Unicorn\\Unicorn.png",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\HappyBirthday Unicorn\\Unicorn.pdf",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\HappyBirthday Unicorn\\Unicorn-free-printable-cake-toppers.png",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\HappyBirthday Unicorn\\Unicorn - Original.pdf",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\HappyBirthday Unicorn\\hontana.zip",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\HappyBirthday Unicorn\\hand-drawn-unicorn-birthday-invitation-template (2).zip",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\HappyBirthday Unicorn\\hand-drawing-rainbow-design.zip",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\HappyBirthday Unicorn\\collection-of-unicorns-and-hearts-with-rainbows.zip",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\HappyBirthday Unicorn",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx"
]
███ Test 4
[
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\Z-CoreFxs.ps1",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\Z-Config.json",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\z",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\y",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\X-Update-PowerShellCoreFxs.ps1",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\x",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\HappyBirthday Unicorn\\UnicornMLP.pdf",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\HappyBirthday Unicorn\\Unicorn5.pdf",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\HappyBirthday Unicorn\\Unicorn4.pdf",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\HappyBirthday Unicorn\\Unicorn3.pdf",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\HappyBirthday Unicorn\\Unicorn2.pdf",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\HappyBirthday Unicorn\\Unicorn.png",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\HappyBirthday Unicorn\\Unicorn.pdf",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\HappyBirthday Unicorn\\Unicorn-free-printable-cake-toppers.png",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\HappyBirthday Unicorn\\Unicorn - Original.pdf",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\HappyBirthday Unicorn\\hontana.zip",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\HappyBirthday Unicorn\\hand-drawn-unicorn-birthday-invitation-template (2).zip",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\HappyBirthday Unicorn\\hand-drawing-rainbow-design.zip",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\HappyBirthday Unicorn\\collection-of-unicorns-and-hearts-with-rainbows.zip",
"Microsoft.PowerShell.Core\\FileSystem::C:\\Users\\Megam\\OneDrive\\Escritorio\\pwshcfx\\HappyBirthday Unicorn"
]
DEBUG: Deleted: Microsoft.PowerShell.Core\FileSystem::C:\Users\Megam\OneDrive\Escritorio\pwshcfx\HappyBirthday Unicorn\UnicornMLP.pdf
DEBUG: Deleted: Microsoft.PowerShell.Core\FileSystem::C:\Users\Megam\OneDrive\Escritorio\pwshcfx\HappyBirthday Unicorn\Unicorn5.pdf
DEBUG: Deleted: Microsoft.PowerShell.Core\FileSystem::C:\Users\Megam\OneDrive\Escritorio\pwshcfx\HappyBirthday Unicorn\Unicorn4.pdf
DEBUG: Deleted: Microsoft.PowerShell.Core\FileSystem::C:\Users\Megam\OneDrive\Escritorio\pwshcfx\HappyBirthday Unicorn\Unicorn3.pdf
DEBUG: Deleted: Microsoft.PowerShell.Core\FileSystem::C:\Users\Megam\OneDrive\Escritorio\pwshcfx\HappyBirthday Unicorn\Unicorn2.pdf
DEBUG: Deleted: Microsoft.PowerShell.Core\FileSystem::C:\Users\Megam\OneDrive\Escritorio\pwshcfx\HappyBirthday Unicorn\Unicorn.png
DEBUG: Deleted: Microsoft.PowerShell.Core\FileSystem::C:\Users\Megam\OneDrive\Escritorio\pwshcfx\HappyBirthday Unicorn\Unicorn.pdf
DEBUG: Deleted: Microsoft.PowerShell.Core\FileSystem::C:\Users\Megam\OneDrive\Escritorio\pwshcfx\HappyBirthday Unicorn\Unicorn-free-printable-cake-toppers.png
DEBUG: Deleted: Microsoft.PowerShell.Core\FileSystem::C:\Users\Megam\OneDrive\Escritorio\pwshcfx\HappyBirthday Unicorn\Unicorn - Original.pdf
DEBUG: Deleted: Microsoft.PowerShell.Core\FileSystem::C:\Users\Megam\OneDrive\Escritorio\pwshcfx\HappyBirthday Unicorn\hontana.zip
DEBUG: Deleted: Microsoft.PowerShell.Core\FileSystem::C:\Users\Megam\OneDrive\Escritorio\pwshcfx\HappyBirthday Unicorn\hand-drawn-unicorn-birthday-invitation-template (2).zip
DEBUG: Deleted: Microsoft.PowerShell.Core\FileSystem::C:\Users\Megam\OneDrive\Escritorio\pwshcfx\HappyBirthday Unicorn\hand-drawing-rainbow-design.zip
DEBUG: Deleted: Microsoft.PowerShell.Core\FileSystem::C:\Users\Megam\OneDrive\Escritorio\pwshcfx\HappyBirthday Unicorn\collection-of-unicorns-and-hearts-with-rainbows.zip
DEBUG: Deleted: Microsoft.PowerShell.Core\FileSystem::C:\Users\Megam\OneDrive\Escritorio\pwshcfx\HappyBirthday Unicorn
DEBUG: Deleted: Microsoft.PowerShell.Core\FileSystem::C:\Users\Megam\OneDrive\Escritorio\pwshcfx\x
DEBUG: Deleted: Microsoft.PowerShell.Core\FileSystem::C:\Users\Megam\OneDrive\Escritorio\pwshcfx\y
DEBUG: Deleted: Microsoft.PowerShell.Core\FileSystem::C:\Users\Megam\OneDrive\Escritorio\pwshcfx\z
Directory: C:\Users\Megam\OneDrive\Escritorio\pwshcfx
Mode LastWriteTime Length Name
---- ------------- ------ ----
la--- 17/5/2021 1:57 272 X-Update-PowerShellCoreFxs.ps1
la--- 14/5/2021 18:51 252 Z-Config.json
la--- 17/5/2021 4:04 30931 Z-CoreFxs.ps1
树 。 /F
C:\USERS\MEGAM\ONEDRIVE\ESCRITORIO\PWSHCFX
X-Update-PowerShellCoreFxs.ps1
Z-Config.json
Z-CoreFxs.ps1
No subfolders exist
$users = get-childitem \\ServerName\c$\users\ | select -ExpandProperty name
foreach ($user in $users)
{
remove-item -path "\\Servername\c$\Users\$user\AppData\Local\Microsoft\Office365\PowerShell\*" -Force -Recurse
Write-Warning "$user Cleaned"
}
在不删除父目录的情况下编写以上内容来清理一些日志文件,这非常有效!
rm -r <folder_name>
c:\>rm -r "my photos"
不定期副业成功案例分享
cmd /c rd
,如下所述。