嗨:我在Linux中有一个cronjob,它在目录中保留了最后100个文件,现在我需要将其移植到Windows上。
我的Linux工作如下:
# sort by time, 1 per line | get files over 100th | delete those
$ ls -1t \my\path\tmp | tail --lines=+100 | xargs rm -f
它每天运行一次
现在我在做
REM get files olther than 2D, delete
forfiles /d -2 /p "C:\my\path\tmp" /c "cmd /c Del @path"
仅删除2天以上的文件,但是如果总数不是太大(<100),我不想删除文件
答案 0 :(得分:2)
我意识到这不像使用for循环那样神秘而神奇,但是它可以工作。当您确定要删除正确的文件后,请从-WhatIf
cmdlet中删除Remove-Item
。
powershell -NoLogo -NoProfile -Command ^
"Get-ChildItem -File |" ^
"Sort-Object -Property LastWriteTime -Descending |" ^
"Select-Object -Skip 100 |" ^
"Remove-Item -WhatIf"
Powershell也可以在Linux和Mac上运行。 https://github.com/powershell/powershell