我尝试运行的Powershell脚本只在.txt文件的文件内容与其他文件夹中的文件夹名称匹配时才会运行。我不知道我是否过于复杂的剧本,但任何帮助将不胜感激。
OnMapElementClick
答案 0 :(得分:0)
Get-Content | Out-String
将输出一个字符串的对象而不是字符串数组。
包含3行的示例文本文件:
(Get-Content -path Example.txt | Out-String).count
1
(Get-Content -path Example.txt).count
3
这意味着当您使用Out-String
/ -in
文本文件上的-contains
后进行数组比较时,基本上是-eq
。
正如Matt在评论中建议的那样,您可以使用通配符或正则表达式运算符在较大的字符串中查找名称。
$Content = Get-Content -path "c:\Test Folder\Content\content.txt" -Raw
$Archive = Get-ChildItem -path "c:\Test Folder\Archive\" -Name
If($Content -notmatch $Archive){
或者,假设存档名称是文件中的一行。您可以摆脱Out-String
并使用Get-Content
来获取字符串数组并使用数组比较。
$Content = Get-Content -path "c:\Test Folder\Content\content.txt"
$Archive = Get-ChildItem -path "c:\Test Folder\Archive\" -Name
If($Archive -notin $Content ){