gpt4 book ai didi

Powershell Get-ChildItem -recurse不能获取所有项目

转载 作者:行者123 更新时间:2023-12-04 10:05:02 46 4
gpt4 key购买 nike

我正在使用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递归搜索忽略。

这是由递归结构中项目的深度引起的吗?或者是别的什么?我该如何解决它,所以它会删除指定的所有文件。

编辑:我尝试添加-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
}
}

最佳答案

Get-ChildItem -path <yourpath> -recurse -Include *.pdb

关于Powershell Get-ChildItem -recurse不能获取所有项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10798301/

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