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/12/28 16:42] – [Command Line] mgupton | powershell:qnd:powershell [2024/10/24 14:24] (current) – [Select Objects] mgupton | ||
---|---|---|---|
Line 25: | Line 25: | ||
* [[https:// | * [[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 ===== | + | ====== Data Types ====== |
* Use '' | * Use '' | ||
* [[https:// | * [[https:// | ||
Line 41: | Line 50: | ||
</ | </ | ||
+ | <code powershell> | ||
+ | $foo = @( | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | ) | ||
+ | </ | ||
==== hash table ==== | ==== hash table ==== | ||
<code powershell> | <code powershell> | ||
Line 54: | 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 61: | 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 72: | 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 88: | 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 |
</ | </ | ||