0

我想递归删除文件,同时保留七个最近的文件。即使我指定了skip参数,以下脚本也会删除所有文件。

$files = gci -path f:\inbox\test -recurse | where {!$_.PsIsContainer}
foreach ($file in $files) {sort creationtime -desc | select -skip 7 | remove-item -path $file.FullName -force}

这个脚本没有做任何该死的事情:

gci -path f:\inbox\test -recurse | where {!$_.PsIsContainer} | foreach-object {sort creationtime -desc | select -skip 7 | remove-item -force }

4

1 回答 1

2

试试这个

$files = gci -path f:\inbox\test -recurse | where {!$_.PsIsContainer} | sort creationtime -desc | select -skip 7 

foreach ($file in $files) {remove-item -path $file.FullName -force}

或更简单地说

gci -path f:\inbox\test -recurse | where {!$_.PsIsContainer} | sort creationtime -desc |
select -skip 7 | remove-item -force
于 2013-11-12T14:44:44.200 回答