删除特定文件夹中当前月份之前的所有 Windows 文件

删除特定文件夹中当前月份之前的所有 Windows 文件

我可以寻求您的帮助和专业知识来为以下内容创建批处理文件吗?

文件夹中有以下文件\\abcdef123\test\root\child\source

AC_FDM_TREE_EXTRACT_20161216203034.touch
AC_FDM_TREE_EXTRACT_20170118204420.touch
AC_FDM_TREE_EXTRACT_20170214204730.touch
PS_Z_VT_SUPER_TREE_20161216203034.txt
PS_Z_VT_SUPER_TREE_20170118204420.txt
PS_Z_VT_SUPER_TREE_20170214204730.txt

我想动态删除除当前月份之外的所有文件。即,如果 YYYYMM 是当前月份,则删除所有不等于的文件(不包括子文件夹)年月.*

生成未来日期的文件的可能性不大。但如果想快速取胜,删除当前月份之前的所有文件可能更好。

答案1

我想动态删除除当前月份之外的所有文件。即,如果 YYYYMM 是当前月份,则删除所有不等于 YYYYMM 的文件(不包括子文件夹)。*

下面是执行此操作的 PowerShell 脚本:

Push-Location "\\abcdef123\test\root\child\source"

$USculture=New-Object -TypeName CultureInfo -ArgumentList "en-US"
$targetDateString=(Get-Date).ToString("yyyyMM", $USculture)

Remove-Item * -Exclude ("*"+$targetDateString+"*")
Pop-Location

第一行将文件夹更改为“\abcdef123\test\root\child\source”

第二行和第三行(第二段)以“yyyyMM”格式获取当前公历的年份和月份,其中“yyyy”为四位数字年份,“MM”为两位数字月份。

第四行(最后一段)删除当前文件夹中除与““ 图案。

最后一行将您返回到开始处的文件夹。

相关内容