Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| powershell:qnd:powershell [2022/10/13 14:00] – mgupton | powershell:qnd:powershell [2024/10/24 14:24] (current) – [Select Objects] mgupton | ||
|---|---|---|---|
| Line 22: | Line 22: | ||
| * Wrap identifier names in '' | * Wrap identifier names in '' | ||
| - | ===== Data Types ===== | + | ====== Command Line ====== |
| + | * [[https:// | ||
| + | |||
| + | Example of setting VS Code as the editor used for command line editing | ||
| + | <code powershell> | ||
| + | '@code --new-window --wait %*' > " | ||
| + | |||
| + | $env:VISUAL = " | ||
| + | |||
| + | # Custom key binding | ||
| + | Set-PSReadLineKeyHandler -Chord Alt+e -Function ViEditVisually | ||
| + | </ | ||
| + | |||
| + | ====== Data Types ====== | ||
| * Use '' | * Use '' | ||
| * [[https:// | * [[https:// | ||
| Line 37: | Line 50: | ||
| </ | </ | ||
| + | <code powershell> | ||
| + | $foo = @( | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | ) | ||
| + | </ | ||
| ==== hash table ==== | ==== hash table ==== | ||
| <code powershell> | <code powershell> | ||
| Line 50: | Line 70: | ||
| * If a variable name contains spaces it needs to be wrapped in quotes (e.g. '' | * If a variable name contains spaces it needs to be wrapped in quotes (e.g. '' | ||
| - | ===== Loops/ | + | ====== Control Structures ====== |
| + | ====== Loops/ | ||
| + | ==== For Loop ==== | ||
| <code powershell> | <code powershell> | ||
| $fruit = @(' | $fruit = @(' | ||
| Line 57: | Line 78: | ||
| For ($i = 0; $i -le $fruit.length; | For ($i = 0; $i -le $fruit.length; | ||
| Write-Host $fruit[$i]; | Write-Host $fruit[$i]; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ==== Foreach Loop ==== | ||
| + | |||
| + | <code powershell> | ||
| + | foreach ($file in Get-ChildItem) { | ||
| + | # do something with $file | ||
| } | } | ||
| </ | </ | ||
| Line 68: | Line 97: | ||
| ==== Hash Table ==== | ==== Hash Table ==== | ||
| - | * To loop over the items in a hash table you have to call '' | + | * To loop over the items in a hash table one option is to call '' |
| + | |||
| + | <code powershell> | ||
| + | $t1 = @{firstname = " | ||
| + | |||
| + | foreach ($i in $t1.GetEnumerator()) { | ||
| + | $i.value | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | === Alternatively use the keys === | ||
| + | |||
| + | <code powershell> | ||
| + | $t1 = @{firstname = " | ||
| + | |||
| + | foreach ($i in $t1.keys) { | ||
| + | $t1[$i] | ||
| + | } | ||
| + | </ | ||
| ====== Select-String ====== | ====== Select-String ====== | ||
| Line 84: | Line 131: | ||
| Example of getting just the first item of the listed output | Example of getting just the first item of the listed output | ||
| <code powershell> | <code powershell> | ||
| - | ls | select first 1 | + | ls | select |
| </ | </ | ||