0

我创建了一个 PowerShell 工作室应用程序,一个用于 PowerShell 语法的 gui 工具仍然适用。我需要在文件夹中搜索文件过滤器“ DeploymentConfig_custom ”,它工作正常。如果在文件夹中找到该文件,我现在需要设置 if 语句并将复选框设置为 $true。

我的尝试

    $deploymentcheck.Checked = $false

[string]$deployment = Get-ChildItem -Path $Pkgpathmain.Text -Filter "*DeploymentConfig_custom*"


if ($deployment -contains "*DeploymentConfig_custom*")
{
    $deploymentcheck.Checked = $true    
}
4

1 回答 1

1
[string]$deployment = Get-ChildItem -Path $Pkgpathmain.Text -Filter "*DeploymentConfig_custom*"

该代码将返回一个字符串,其中所有文件名都用空格分隔。您正在使用-Contains 该字符串。-Contains查找数组元素并且在这种情况下总是会失败,因为$deployment它是单个字符串而不是数组。您应该尝试使用-match-like

if ($deployment -like "*DeploymentConfig_custom*")

if ($deployment -match "DeploymentConfig_custom")

-Match支持正则表达式,因此您不需要*在您的情况下使用任何 's。

这应该适用于您的 PowerShell 工作室应用程序

于 2014-10-09T13:54:19.577 回答