gpt4 book ai didi

powershell - 输出的目录数据不正确

转载 作者:行者123 更新时间:2023-12-03 00:19:35 24 4
gpt4 key购买 nike

以下代码将抓取目录并为每个目录创建菜单项。直到Add_Click部分为止,它都可以正常工作;由于某种原因,无论单击什么按钮,它只会吐出相同的文件。

$directory = Get-ChildItem -Path ($relative_path + "/scripts")

foreach ($file in $directory)
{
$mnuTemp = New-Object System.Windows.Forms.MenuItem
$mnuTemp.Text = $file.Name
$mnuTemp.Add_Click({Write-Host $file.Name})
$mnuScripts.MenuItems.Add($mnuTemp)
}

最佳答案

添加click命令时,您仍在传递对$ file.name的引用。

$mnuTemp.Add_Click({Write-Host $file.Name})

您需要将引用传递给完全评估的脚本块。
$mnuTemp.Add_Click([scriptblock]::Create("write-host $($file.name)"))

我已通过以下更改对您的代码进行了编辑。
$directory = Get-ChildItem -Path ($relative_path + "/scripts")

foreach ($file in $directory)
{
$mnuTemp = New-Object System.Windows.Forms.MenuItem
$mnuTemp.Text = $file.Name
$mnuTemp.Add_Click([scriptblock]::Create("write-host $($file.name)"))
$mnuScripts.MenuItems.Add($mnuTemp)
}

关于powershell - 输出的目录数据不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17794284/

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