我正在使用powershell脚本从文件夹中删除某些文件,然后将其余文件移到预定义的子文件夹中。
我的结构看起来像这样
Main
(Contains a bunch of pdb and dll files)
-- _publish
--Website
(Contains a web.config, two other .config files and a global.asax file)
-- bin
(Contains a pdb and dll file)
-- JS
-- Pages
-- Resources
我想在开始移动它们之前从整个文件结构中删除所有pdb,config和asax文件。我使用的是:
$pdbfiles = Get-ChildItem "$executingScriptDirectory\*.pdb" -recurse
foreach ($file in $pdbfiles) {
Remove-Item $file
}
对于我需要删除的所有文件类型等等。它的工作原理很好,除了位于网站bin文件夹中的pdb文件。并为网站文件夹中的ASAX文件。由于某些原因,它们会被Get-ChildItem递归搜索忽略。
这是由于resursive结构中物品的深度造成的吗?或者是别的什么?我该如何修复它,因此它会删除指定的所有文件。
编辑:我尝试添加-force - 但它没有改变任何内容
答案:以下工作:
$include = @("*.asax","*.pdb","*.config")
$removefiles = Get-ChildItem "$executingScriptDirectory\*" -recurse -force -include $include
foreach ($file in $removefiles) {
if ($file.Name -ne "Web.config") {
Remove-Item $file
}
}
答案 0 :(得分:14)
Get-ChildItem -path <yourpath> -recurse -Include *.pdb
答案 1 :(得分:1)
您也可以使用管道删除:
Get-ChildItem -path <yourpath> -recurse -Include *.pdb | rm