gpt4 book ai didi

powershell - 保留x个目录并删除所有其他目录,每次都需要排除一个目录及其内容

转载 作者:行者123 更新时间:2023-12-04 20:51:07 26 4
gpt4 key购买 nike

我试图删除除 10 个最近的目录之外的所有目录,始终不包括 java 目录。不幸的是,它也删除了“java”目录中除最后 10 个内容之外的所有内容。

我一直在尝试从以下链接修改解决方案,以使我的情况正常工作:
Keep x number of files and delete all others - PART TWO

目录结构如下:

dev_app_backup\java
dev_app_backup\2012-05-09_01-00-05_commnXsl (contains Xsl files)
dev_app_backup\2012-05-09_01-00-05_published (contains zip files)
dev_app_backup\various-dates-time_commonXsl
dev_app_backup\various-dates-time_published

我的计划是运行第二个脚本来清除 java 子目录。
#----- define folder where files are located ----#
$TargetFolder = "\\test\TestShare\dev_app_backup\*"

#----- number of directories to keep ----#
$keep = 10

#----- get zip files based on lastwrite filter ---#
$files = Get-Childitem $TargetFolder -recurse -exclude java

if ($files.Count -gt $keep)
{
$files | Sort-Object -property $_.LastWriteTime | Select-Object -First ($files.Count - $keep) | Remove-Item -Force
}

最佳答案

好的,这是我想出的脚本,抱歉,这是我的第一个 powershell 脚本...

$TargetFolder = "\test\TestShare\dev_app_backup*"
$keep = 10
$folders = Get-Childitem $TargetFolder -exclude java*
echo "folders"
echo $folders
echo "endfolders"
echo $folders.Count
echo $folders | Sort-Object -property $_.LastWriteTime | Select-Object -First ($folders.Count - $keep)
foreach ($folder in $folders | Sort-Object -property $_.LastWriteTime | Select-Object -First ($folders.Count - $keep))
{
echo $folder
$files = Get-Childitem $folder -recurse
echo $files
Remove-Item -Force $folder\$files
Remove-Item -Force $folder
}

回声只是在那里帮助我调试,随意删除它们。

关于powershell - 保留x个目录并删除所有其他目录,每次都需要排除一个目录及其内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10539311/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com