Windows PowerShell Cookbook: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
| Line 70: | Line 70: | ||
> # (or using gci alias...) | > # (or using gci alias...) | ||
> gci env: | > gci env: | ||
</syntaxhighlight> | |||
=== Display value of a single environment variable === | |||
`$Env:` followed by the variable name, e.g.: | |||
<syntaxhighlight lang="powershell"> | |||
> $Env:OS | |||
</syntaxhighlight> | |||
=== Creating and modifying environment variables === | |||
==== Creating a process-level environment variable ==== | |||
<syntaxhighlight lang="powershell"> | |||
> $env:TestVariable = "This is the test variable value." | |||
</syntaxhighlight> | |||
==== Creating a permanent environment variable ==== | |||
<syntaxhighlight lang="powershell"> | |||
> [Environment]::SetEnvironmentVariable("TestVariable", "Test value.", "User") | |||
</syntaxhighlight> | |||
<div class="alert alert-warning">N.B. It's necessary to create a new Powershell instance to refer to new environment variable values.</div> | |||
==== Deleting an environment variable ==== | |||
<syntaxhighlight lang="powershell"> | |||
> Remove-Item Env:TestVariable | |||
> # (or...) | |||
> [Environment]::SetEnvironmentVariable("TestVariable", $null, "User") | |||
</syntaxhighlight> | </syntaxhighlight> | ||
== Notes == | == Notes == | ||
<references /> | <references /> | ||
Revision as of 19:10, 30 November 2015
Fetching remote content
Download content from the web
This will print out the markup from the index page (which could then be piped through additional commands):
> (new-object Net.WebClient).DownloadString("http://damienjay.com/")
Grep/Searching the content of files
Files in a single directory
> select-string .\*.* -pattern "\my_regexp\"
Recursive search
> gci path\to\search\root\ -rec | select-string -pattern "\my_regexp\"
Recursive search filtered by file type
> Get-ChildItem path\to\search\root\ -include *.txt -rec | select-string -pattern "\my_regexp\" > # or, using aliases for the commands and not using "-include" ... > gci path\to\search\root\ *.txt -r | sls -pattern "\my_regexp\"
List directory contents
Fun Things You Can Do With the Get-ChildItem Cmdlet (Microsoft TechNet)
> Get-ChildItem .\ > # or... > gci .\ > # or... > gci # for the current directory
Limit listing to file names
> gci path\to\directory | Select-Object Name > # or... > Get-ChildItem path\to\directory -name
Recursive listing
> gci -recursive > # or... > gci -rec
Environment variables
Displaying, creating, and modifying environment variables using Powershell CLI.[1]
List all environment variables
> Get-ChildItem Env: > # (or using gci alias...) > gci env:
Display value of a single environment variable
$Env: followed by the variable name, e.g.:
> $Env:OS
Creating and modifying environment variables
Creating a process-level environment variable
> $env:TestVariable = "This is the test variable value."
Creating a permanent environment variable
> [Environment]::SetEnvironmentVariable("TestVariable", "Test value.", "User")
N.B. It's necessary to create a new Powershell instance to refer to new environment variable values.
Deleting an environment variable
> Remove-Item Env:TestVariable
> # (or...)
> [Environment]::SetEnvironmentVariable("TestVariable", $null, "User")
Notes
- ↑ Creating and Modifying Environment Variables - Microsoft TechNet