繁体   English   中英

如何递归删除目录中的最小文件?

[英]How to delete the smallest file in a directory recursively?

示例:根文件夹中有两个目录:

 "Root folder" wishfull_script_to_delete_small_files.BAT "SubFolder_One" test1.txt.......... 1 kb test2.txt.......... 1.1 kb "SubFolder_Two" picture001.jpg..... 34 kb picture002.jpg..... 64 kb

所以我想自动删除test1.txtpicture001.jpg而不是脚本(批处理)本身(可能是最小的文件)。

如果您打算学习一些东西,PowerShell 是一个比cmd.exe更强大的工具。 它适用于所有受支持的 Windows 系统。 如果编写正确,相同的代码可以在 UNIX、Linux 和 Mac 系统上运行不变。

一旦您确信将删除正确的文件,请从Remove-Item命令中删除-WhatIf

Get-ChildItem -Recurse -Directory -Path 'C:\src\t' |
    ForEach-Object {
        Get-ChildItem -File -Path $_ |
            Where-Object { $_.Name -ne $(Split-Path -Path $PSCommandPath -Leaf) } |
            Sort-Object -Property Length |
            Select-Object -First 1 |
            Remove-Item -WhatIf
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM