gpt4 book ai didi

powershell - PowerShell remove-item成功但抛出异常

转载 作者:行者123 更新时间:2023-12-03 01:23:07 25 4
gpt4 key购买 nike

我在Mercurial存储库的根目录中运行以下命令。我想删除以“.hg”开头的所有文件和文件夹:

gci -rec -filter ".hg*" | remove-item -recurse -force

奇怪的是,它确实有效,但是仍然会产生以下异常:
Get-ChildItem : Could not find a part of the path 'C:\temp\WSCopyTest\MyCompany.Services.DaftPunk\.hg\'.
At line:1 char:4
+ gci <<<< -rec -filter ".hg*" | remove-item -recurse -force
+ CategoryInfo : ReadError: (C:\temp\WSCopyT...es.DaftPunk\.hg:String) [Get-ChildItem], DirectoryNotFoundException
+ FullyQualifiedErrorId : DirIOError,Microsoft.PowerShell.Commands.GetChildItemCommand

因为 Get-ChildItem引发了异常,所以我怀疑我对PowerShell中流水线的理解存在缺陷。就像 Get-ChildItem一样,找到一个项目,将其传递到管道中的下一个cmdlet,然后寻找下一个?那是怎么回事?

以下内容应该是可以重现此问题的脚本,但是,在同一台计算机上,它可以完美地工作:
$repoRoot = "C:\Temp\HgDeleteTest\MyRepo"
remove-item $repoRoot -recurse -force
md $repoRoot
pushd $repoRoot
hg.exe init
add-content ShouldBeLeftBehind.txt "This is some text in a file that should be left behind once the various .hg files/directories are removed."
add-content .hgignore syntax:glob
add-content .hgignore *.dll
add-content .hgignore *.exe
hg.exe commit --addremove --message "Building test repository with one commit."
gci -rec -filter ".hg*" | remove-item -recurse -force
popd

最佳答案

可能是您要删除以.hg开头的文件夹,而该文件夹又包含以.hg开头的文件,但是该文件不再存在?

关于powershell - PowerShell remove-item成功但抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6760202/

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