我在 Microsoft Share 文件夹中有 OFFICE14 和 OFFICE16。我有两个问题:
- 如您所见,路径中的最后几个词被删掉了。我怎么看这里的完整路径。
- 如何更改 MS Office Soap 类型库的路径。
完全被这个难住了,因为正如你所看到的,屏幕上没有很多选项可以编辑路径。
使用Contains
PowerShell 查找值不起作用。
全文:
我必须从 SQL DB 中获取PartNo
、Ver
和Rev
值,并检查这些值是否出现在文本文件的第一行中。我得到文件的第一行并将其存储在$EiaContent
. 与相关PartNo
联。大多数时候返回一个。但在某些情况下,一个可能有多个. 所以查询返回多个,但只有其中一个会在文本文件中。MAFN
$partNo=Select PartNo Where MAFN=xxx
MAFN
PartNo
MAFN
PartNo
PartNo(PartNo_1,PartNo_2,PartNo_3,and PartNo_4)
问题是这些中的每一个PartNo
。在 PowerShell 中被视为单个字符。$partNo.Length
是4
。因此,我的检查If ($EiaContent.Contains("*$partNo*"))
失败了,在这种情况下不应该,因为我可以看到PartNo
文件中提到了其中一个。此外,Contains
如果有一个PartNo
. 我使用 like as inIf ($EiaContent -like "*$partNo*")
来匹配PartNo
并且它有效,但是当有多个PartNo
.
我努力了:
If ($partNo.Contains($EiaContent)){}
但If ($partNo -like "*$EiaContent*"){}
这些都不起作用。
的数据类型$partNo
是字符串, 也是$EiaContent
。SQL 中的数据类型PartNo
是varchar(50)
排序规则COLLATE SQL_Latin1_General_CP1_CI_AS
,我使用的是 PowerShell Core 7.2 和 SQL 2005
几天来,我一直坚持在这里输入图像描述,因此感谢您的帮助。
完整代码:
$EiaContent = (Get-Content $aidLibPathFolder\$folderName\$fileName -TotalCount 1)
Write-host $EiaContent
#Sql query to get the Part Number
$partNoQuery = "SELECT PartNo FROM [NML_Sidney].[dbo].[vMADL_EngParts] Where MAFN = $firstPartTrimmed"
$partNoSql = Invoke-Sqlcmd -ServerInstance $server -Database $database -Query $partNoQuery
#Eliminate trailing spaces
$partNo = $partNoSql.PartNo.Trim()
If ($EiaContent.Contains("*$partNo*")) {
Write-Host "Part Matches"
}
Else {
#Send an email stating the PartNo discrepancy
}
$partNo
等于A1023 A1023MD C0400 C0400MD
$EiaContent
等于O40033( C0400 REV N VER 004, 37 DIA 4.5 BRAKE DRUM OP3 )