Saya hanya perlu menjalankan ini dan membuat yang berikut:
$InServerName = 'SomeServerNameorIPAddress'
$InFilePath = '\Sharename\SomePath\'
$InFileName = 'Filename.ext'
$OutServerName = 'SomeServerNameorIPAddress'
$OutFilePath = '\Sharename\SomePath\'
$OutFileName = 'Filename.out'
$InFile = -join('\\',$InServerName,$InFilePath,$InFilename)
$OutFile = -join('\\',$OutServerName,$OutFilePath,$OutFilename)
$FindStr = 'some string to match on'
$CompareStr = [scriptblock]::Create($FindStr)
$CompareStr
Get-Content $InFile | Where-Object {$_ -notmatch $CompareStr} | Set-Content $OutFile
Get-Content $OutFile
Kuncinya adalah bahwa 'Tempat-Objek' menggunakan blok skrip (seperti yang ditunjukkan oleh kurung kurawal) mengharuskan mendeklarasikan variabel dalam acara pembuatan blok skrip, karenanya
$CompareStr = [scriptblock]::Create($FindStr)
baris.
Dengan menyusunnya dengan cara ini, seseorang dapat membuat fungsi, meneruskannya string teks untuk mencocokkan sebagian, melakukan pembuatan blok skrip dengan nilai yang diteruskan, dan membuatnya berfungsi dengan benar.
Jawaban di atas tidak menjelaskan dengan benar cara meneruskan nilai yang akan diganti dalam suatu variabel.