Contact Info

Crumbtrail » Administration » Powershell » Powershell 1.0 » Set-Content

Set-Content - Powershell 1.0 CmdLet

Microsoft Windows PowerShell is a command-line shell and scripting tool based on the Microsoft .NET Framework. It is designed for system administrators, engineers and developers to control and automate the administration of Windows and applications.

More than hundred command-line tools (so called "cmdlets") can be used to perform system administration tasks and Windows Management Instrumentation (WMI). These cmdlets are easy to use, with standard naming conventions and common parameters, and standard tools for piping, sorting, filtering, and formatting data and objects.


Set content in the item (specific location)


-path string
       The path to the item that will receive the content.
       Wildcards are permitted.

   -literalPath string
       Like Path above, only the value is used exactly as typed.
       No characters are interpreted as wildcards. If the path includes any
       escape characters then enclose the path in single quotation marks.

   -value Object
       The new content for the item.

   -include string
       Change only the specified items in the Path. 
       Wildcards are permitted. e.g. "*.txt"

   -exclude string
       Omit the specified items. 
       Wildcards are permitted. e.g. "*.log"

   -filter string
       A filter in the provider's format or language. 
       The exact syntax of the filter (wildcard support etc) depends on the provider.
       Filters are more efficient than -include/-exclude, because the provider
       applies the filter when retrieving the objects, rather than having 
       PowerShell filter the objects after they are retrieved.

       Pass the object created by Clear-Variable through the pipeline.
       (By default this switch is not set)

       Override restrictions that prevent the command from succeeding, apart
       from security settings. e.g. Force will create file path directories 
       or override a files read-only attribute, but will not change file permissions.

   -credential PSCredential
       Present a user/password credential to validate access to the file.
       This is not yet supported in any Windows PowerShell core commands.

       Describe what would happen if you executed the command without actually
       executing the command.

       Prompt for confirmation before executing the command.

       -Verbose, -Debug,-ErrorAction,-ErrorVariable, -OutVariable.

Write a string into a text file:

PS C:\>Set-content -path C:\test.txt -value "Hello World"

Write the current date into a CSV file:

PS C:\>get-date | set-content C:\Test_date.csv

Edit-Replace some text in every line of the file foo.txt :

PS C:\>(get-content foo.txt) | foreach-object {$_ -replace "oldTxt", "newTxt"} | set-content foo.txt

The parentheses around (Get-Content) ensure that the Get operation is completed before the Set operation begins, wthout this the two functions would both try to access the file at the same time.