PowerShell is a task automation and configuration management framework from Microsoft. It consists of PowerShell Core, available for free in most major operating systems, and PowerShell Technologies the company’s proprietary platform. Get started with your next Windows 10 PC by using these five simple steps..
The “powershell get-item” is a PowerShell command that allows users to retrieve files and folders from the local system. This can be done by specifying the full path of the file or folder, or by using wildcards.
Reading data from a text file is a typical situation in automation. PowerShell, like other programming languages, has at least one technique of reading text files. The PowerShell Get-Content cmdlet examines the contents of a text file and imports the information into a PowerShell session.
When you need to utilize text files as input for your script, the PowerShell Get-Content cmdlet is a must-have. Maybe your PowerShell script needs to monitor a computer list or import an email template to deliver to users. These cases are simply supported by PowerShell Get-Content!
What if you could follow a log file in real time? Yes, Get-Content in PowerShell can do it as well! Continue reading this article to discover how to utilize PowerShell’s Get-Content cmdlet to read text files.
If you want to follow along with the examples in this lesson, you’ll need the following items.
- You’ll need a PC with Windows 10 installed. Version 20H2 of Windows 10 is used in this lesson. But don’t worry, you’ll be OK with the version of Windows 10 you have.
- On your machine, you need have at least Windows PowerShell 5.1 or PowerShell 7.1 installed. PowerShell 7.1 is used here, but any version will work!
- You’ll need a code editor since you’ll be writing and testing commands. Windows PowerShell ISE and Visual Studio Code are two editors that are suggested (VSCode). VSCode is used in this article.
- Creating a working directory on your PC can also assist. You may put the working folder anywhere you wish. The examples in this lesson, on the other hand, are located in the C:demo folder.
- You’ll need some material to get started! To keep things simple, create a file called fruits.txt in your working directory that contains 10 different fruits. This text file will be used in all of the examples.
raspberry melon peach tangerine cherry berry apricot papaya papaya papaya papaya papaya papaya papaya papaya papaya papaya orange cantaloupe
Don’t know which version of PowerShell you have? Check out How to Check Your PowerShell Version (All the Ways!) for more information.
Reading a Text File and Returning a String Array as a Result
The Get-Content cmdlet takes content from a file and returns each line as a string object by default. As a consequence, the PowerShell object collection is transformed into an array of string objects.
The code below reads the contents of the fruits.txt file and presents the results in the PowerShell console, as seen below.
Using PowerShell Get-Content to get the content of a text file.
Get-Content reads the content and saves it as an array, but how can you be sure? To identify the kind, first save the material to a PowerShell object, which you can then investigate.
$fruits = Get-Content.fruits.txt; $fruits = Get-Content.fruits.txt; $fruits = Get-Content.fruits.txt; $fruits = The type of the item $fruits will be shown. GetType() Get the number of items in the $fruits.Count object. $fruits – Output the contents of the object to the console
The $fruits variable is an array of 10 objects, as seen in the screenshot below. A single line of text is represented by each item.
Assuring that the content of the text file is saved in an array.
Getting a Single Line from a Text File
The default Get-Content result is an array or a collection of objects, as you learned in the preceding example. Each object in a collection has an index number, which in PowerShell usually starts at zero.
The string array has 10 entries, as seen in the image below. The 10 entries were indexed from zero to nine in the array.
The indexed entries in the string array start at zero index, as shown.
You’ll need to provide the index number 4, surrounded in square brackets, to only see the fifth line of material (known as array notation).
(Get-Content.fruits.txt) (Get-Content.fruits.txt) (Get-Content.fruits.txt
The Get-Content command is contained in a parenthesis, as you can see. This syntax instructs PowerShell to execute the command surrounded in parentheses first, before doing any additional tasks.
The single returned result is raspberry, which is the item at index 4 and corresponds to the fifth line in the text file, as seen in the picture below.
Returning a single line from the Get-Content output.
What if you require the information from the final line? You don’t need to know the whole amount of lines, thankfully. Use [-1] as the index instead, and Get-Content will only show the file’s final line.
(Get-Content.fruits.txt)[-1] (Get-Content.fruits.txt) (Get-Content.fruits.
Limiting the number of top Get-Content results returned
To get a certain amount of lines from a text file, use the TotalCount option of Get-Content. The TotalCount option may take a long number up to 9,223,372,036,854,775,807.
The command below, for example, reads the text and restricts the output to three items.
Get-Content.fruits.txt -TotalCount 3 Get-Content.fruits.txt Get-Content.fruits.txt Get
The output below shows just the first three lines from the beginning of the text file, as you would anticipate.
Using the Get-Content command and the TotalCount option, reading the top three results.
Return results from the end of a file using the PowerShell Tail parameter.
You used the PowerShell Get-Content cmdlet to read a text file and restrict the top results in the previous example. PowerShell Get-Content may also be used to do the inverse. To read a given number of lines from the end of a file, use the PowerShell Tail option.
The code in the example below reads the text file and shows the lowest four lines.
-Tail 4 Get-Content.fruits.txt
The anticipated output of the PowerShell tail command is restricted to the final four lines of text, as demonstrated in the figure below.
Using the Get-Content Tail argument to get results from the end of a file.
The Wait parameter is often used in conjunction with the Tail parameter. When you use the Wait argument, the file stays open and checks for new information every second. The Tail and Wait settings are shown in the video below. Use the CTRL+C key combination to leave Wait.
Get-Content -Path.fruits.txt -Tail 1 -Wait Get-Content -Path.fruits.txt -Tail 1 -Wait
With Get-Content, you may use the wait and Tail arguments.
Using a Single String to Return the Results
You may have observed that in prior instances, the PowerShell Get-Content output has been string arrays. And, as you’ve seen, arrays enable you to work with content one item at a time, as you’ve seen.
Arrays are useful in many situations, but they may make replacing strings more complex. Get-Raw Content’s argument reads the full content of a file into a single string object. The Raw argument keeps the file content as a single string, despite the fact that the code below is the same as in the previous example.
$fruits = Get-Content.fruits.txt -Raw $fruits = Get-Content.fruits.txt -Raw $fruits = Get-Content.fruits.txt -Raw $fruit The type of the item $fruits will be shown. GetType() Get the number of items in the $fruits.Count object. $fruits – Output the contents of the object to the console
The picture below shows how using the Raw argument with Get-Content causes the content to be treated as a single string rather than an array of objects.
Assuring that Get-Raw Content’s argument receives the file content as a single string object.
What can you do after you’ve got the contents of a file in a single string using the Raw parameter? Perhaps you need to locate and change a string inside the content of that file. Get-Content reads the content of a file as a single string in the example below. The replace operator is then used to replace a specified word with another.
Finding and Replacing Strings is a related topic.
# Get the text file’s raw content. Get-Content.fruits.txt -Raw $fruits = Get-Content.fruits.txt -Raw $fruits = Get-Content.fruits.txt -R $fruits # Find the word ‘apricot’ and replace it with’mango.’ $fruits -replace ‘apricot’ and’mango’ with ‘apricot’ and’mango’.
Reading the contents of a text file as a single string and using the replace operator to replace a word.
Only read the content of files that matched a filter.
Do you have a large folder full of files but just need to view a handful of them? You don’t have to filter the files individually before reading their contents using PowerShell Get-Content. The Get-Content cmdlet’s Filter option restricts which files it reads.
Create a few of files to read to illustrate reading the content of simply a few files. Create the files in your working folder using Add-Content as shown below.
# Add-Content adds the provided value to the log1.log and log2.log files if they don’t already present. -Path C:demo Add-Content -Value “This is the content in Log1.log” Log1.log -Path C:demo Add-Content -Value “This is the content in Log2.log” Log2.log # Check to see whether the files have been produced. C:demo Get-ChildItem
Using Add-Content to create test.log files.
Use the Filter and Path options to only read.log files in the root directory once you’ve built your test files. The asterisk in the filter specification tells Get-Content to read any file with the extension.log. The path parameter’s final asterisk restricts file reading to the root directory alone.
Get-Content -Filter *.log -Path C:demo*
Only the material from the.log files is presented in the output below.
To restrict the read files, use the Filter argument with PowerShell Get-Content.
Get-ChildItem: One-Click Listing of Files, Registry, Certificates, and More
Reading a File’s Alternate Data Stream
You’ve only worked with text files up to this point, but Get-Content can read data from a file’s alternative data stream (ADS). You can learn more about streams by reading more about them, but consider of a stream as an additional data feature kept alongside the regular file contents.
Because alternate data streams are a part of the Windows NTFS file system, Get-Content will not work with non-Windows operating systems.
Run Get-Item using the Stream argument to examine other data streams. Get-Item returns a property named Stream when referring a file using the Stream argument, as illustrated below. $DATA is used to represent the default file content stream.
Use the Get-Item cmdlet to view all available streams in the file fruits.txt to illustrate the default:$DATA stream. Get-Item shows a single stream, as illustrated below.
Get-Item -Path.fruits.txt -Stream * Get-Item -Path.fruits.txt Get-Item -Path.
Get-Item returns a list of all accessible streams in a file.
Get-Stream Content’s argument reads the content of the default:$DATA stream, as demonstrated below. Because the:$DATA stream is read by default, the delivered content is identical to the normal Get-Content output.
Get-Content -Path.fruits.txt -Stream ‘:$DATA’ Get-Content -Path.fruits.txt Get-Content -Path.fruits.tx
Using Get-Content to access the:$DATA stream explicitly.
Modify a file using Add-Content to add the new stream to show getting an other data stream with Get-Content. As seen in the example below, use Get-Item to display the new stream alongside the default:$DATA stream.
# Add a new ADS named Secret to the fruits.txt file Add-Content -Path .fruits.txt -Stream Secret -Value ‘This is a secret. No one should find this.’ Get-Item -Path.fruits.txt -Stream * Get-Item -Path.fruits.txt Get-Item -Path.
Using Add-Content to add the Secret alternative data stream and Get-Item to see the new stream.
Use the Stream option of Get-Content to obtain the new Secret stream content, since only the:$DATA stream is read by default. The Secret stream material is shown instead of the normal file content, as demonstrated below.
Get-Content -Path.fruits.txt -Stream secret Get-Content -Path.fruits.txt Get-Content -Path.
To view the content of the Secret alternative data stream, use Get-Content.
Get-Content in PowerShell: Next Steps
You’ve learnt how to read and alter material using Get-Content in this article. You’ve even discovered that Get-Content is adaptable enough to read data from a variety of sources!
What more ways can you utilize Get-Content in your job now that you’ve read this article? Maybe you can utilize Get-Content to see whether a backup file is old and then make an automated backup job call?
The “powershell get-content” is a command that allows users to retrieve the content of a file from PowerShell. It can also be used to download files from the internet.
Frequently Asked Questions
How do you use get in PowerShell?
To get in the PowerShell, you need to use either netsh.exe or ssh.com. To open up a terminal window with SSH, first enter your host name followed by ssh. For example, if your IP address is 18.104.22.168 then it would be entered as follows: 192/168/1*.0*.* . You can also type ssh root@ and hit Enter on Windows to access a remote command prompt using SSH keys instead of having to manually input all of that information each time you want the computer to remotely connect back through the same port number (22).
What is get-command in PowerShell?
A: PowerShell is a task-oriented command line shell and scripting language designed for system administration. Get-command displays the list of commands that are available to you, which can be filtered by category with Findstr or piping them into a text file using Export-clixml
How do I use the Get-Content command in PowerShell?
A: A Get-Content command is used to retrieve content from a file. The cmdlet will scan the specified path for any files that match the given filter, returning each one in turn.
- powershell get http
- install powershell get
- powershell get version
- powershell get command line arguments
- powershell get-command parameters