从 2 个目录级别删除特定文件类型
Deleteing specific file type from 2 directory levels up
我正在尝试找出一种方法来制作脚本以从多个文件夹中删除特定类型的文件,而无需将其从第一个目录中删除。请参阅下面的示例。
目标文件扩展名为 .xlsm
要删除的文件位于上一级目录。但我需要跳过位于 1 个目录级别的文件类型
例如
\User Folder\Folder1\test.xlsm this needs to be kept
\User Folder\Folder1\SubFolder1\File.xlsm This must be deleted
\User Folder\Folder2\foo.xslm this needs to be kept
\User Folder\Folder2\Subfolder2\bar.xlsm This must be deleted
也许尝试在变量中对 Folder1 进行 get-childItem。
然后只保留此变量中的文件夹。
最后执行 cd/set-location 删除 xlsm 文件。
示例(我没试过,但形式通常很好):
$VarFolder = Get-ChildItem ...\Folder1\
foreach ($item in $VarFolder){if ($(get-item $item).Attributes -eq "Directory"){$VarKeeping += $item }}
然后下一步用 cd 处理并删除..
Get-ChildItem cmdlet 可以在其搜索路径中使用通配符。
尝试
Get-ChildItem -Path 'X:\User Folder\*\*\*' -File -Filter '*.xlsm' | Remove-Item -WhatIf
如果控制台中显示的内容正确,请移除 -WhatIf
安全开关,然后再次 运行
我正在尝试找出一种方法来制作脚本以从多个文件夹中删除特定类型的文件,而无需将其从第一个目录中删除。请参阅下面的示例。
目标文件扩展名为 .xlsm
要删除的文件位于上一级目录。但我需要跳过位于 1 个目录级别的文件类型
例如
\User Folder\Folder1\test.xlsm this needs to be kept
\User Folder\Folder1\SubFolder1\File.xlsm This must be deleted
\User Folder\Folder2\foo.xslm this needs to be kept
\User Folder\Folder2\Subfolder2\bar.xlsm This must be deleted
也许尝试在变量中对 Folder1 进行 get-childItem。 然后只保留此变量中的文件夹。 最后执行 cd/set-location 删除 xlsm 文件。
示例(我没试过,但形式通常很好):
$VarFolder = Get-ChildItem ...\Folder1\
foreach ($item in $VarFolder){if ($(get-item $item).Attributes -eq "Directory"){$VarKeeping += $item }}
然后下一步用 cd 处理并删除..
Get-ChildItem cmdlet 可以在其搜索路径中使用通配符。
尝试
Get-ChildItem -Path 'X:\User Folder\*\*\*' -File -Filter '*.xlsm' | Remove-Item -WhatIf
如果控制台中显示的内容正确,请移除 -WhatIf
安全开关,然后再次 运行