Shell 命令删除特定范围内的文件夹的所有文件

Shell 命令删除特定范围内的文件夹的所有文件

我正在升级应用程序,需要删除几个文件夹中的所有文件,以便在用户登录时重新生成这些文件。文件路径是 Master#(其中 # 是应用程序中的工作区编号)\MR\Homepage。问题是,有 136 个 MASTER 文件夹,所以我想看看是否有办法运行脚本进入每个文件夹并删除所有文件。

总而言之,我想让这个脚本进入每个 db\Master#\MR\Homepage 文件夹并删除所有内容。我知道如何对单个文件夹执行此操作,但不知道如何通过同一脚本对每个文件夹执行此操作。

Remove-Item X\db\MASTER1\MR\Homepage\*.txt* -Include *.txt.ycache* -Confirm$false

有没有办法在 URL 链接中使用通配符 MASTER#?除了 Homepage 文件夹中的内容外,我不想删除任何其他内容。

仅作为更新,这是测试版,我不会触及生产版。我删除的文件不是系统文件,删除它们不会产生任何效果,但会导致在用户登录时生成具有更新设置的新文件。我现在使用以下内容,替换我需要更新的每个目录的 #。

新项目“N:\11.6.12 Update\Homepage Backups\Homepage35”-ItemType 目录

dir“X:\db\MASTER35\MR\Homepage*”| mv -dest“N:\11.6.12 Update\Homepage Backups\Homepage35”-verbose

答案1

我还没有真正尝试过,但你可能能够在 处使用通配符...\MASTER*\...。但是,假设你不能,你做的是

1..136|ForEach-Object {Remove-Item X\DB\Master$_\MR\HomePage\*.txt* -Include *.txt.ycache* -Confirm:$false

然而,使用通配符删除文件非常危险;你应该非常确定你没有删除你不打算删除的文件

相关内容