Powershell equivalent of bash ampersand (&) for forking/running background processes

As long as the command is an executable or a file that has an associated executable, use Start-Process (available from v2): Start-Process -NoNewWindow ping google.com You can also add this as a function in your profile: function bg() {Start-Process -NoNewWindow @args} and then the invocation becomes: bg ping google.com In my opinion, Start-Job is an … Read more

What’s the difference between “Write-Host”, “Write-Output”, or “[console]::WriteLine”?

Write-Output should be used when you want to send data on in the pipe line, but not necessarily want to display it on screen. The pipeline will eventually write it to out-default if nothing else uses it first. Write-Host should be used when you want to do the opposite. [console]::WriteLine is essentially what Write-Host is … Read more

PowerShell and the -contains operator

The -Contains operator doesn’t do substring comparisons and the match must be on a complete string and is used to search collections. From the documentation you linked to: -Contains Description: Containment operator. Tells whether a collection of reference values includes a single test value. In the example you provided you’re working with a collection containing … Read more

PowerShell equivalent to grep -f

The -Pattern parameter in Select-String supports an array of patterns. So the one you’re looking for is: Get-Content .\doc.txt | Select-String -Pattern (Get-Content .\regex.txt) This searches through the textfile doc.txt by using every regex(one per line) in regex.txt

Array.Add vs +=

When using the $array.Add()-method, you’re trying to add the element into the existing array. An array is a collection of fixed size, so you will receive an error because it can’t be extended. $array += $element creates a new array with the same elements as old one + the new item, and this new larger … Read more