Given below are some tips from my scratchpad on working with files and directories in PowerShell. These are just basic tips and by no means exhaustive. Check out the book “Windows PowerShell in Action” by Bruce Payette, an excellent book on PowerShell authored by the lead developer of the language.

# Directory Listing
PS C:\POWERSHELL> dir


    Directory: C:\POWERSHELL


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---        12/29/2010  12:01 PM       1929 PowerShellTips.ps1
-a---        12/29/2010  10:40 AM         50 test1.txt

# Number of files in a directory
PS C:\POWERSHELL> (dir).count
3
PS C:\POWERSHELL> (dir).length
3
# Number of files matching a pattern
PS C:\POWERSHELL> (dir *.ps1).count 
1

# Number of lines in a file
PS C:\POWERSHELL> ${C:PowerShellTips.ps1}.length
141
PS C:\POWERSHELL> (Get-Content .\PowerShellTips.ps1).length
141
PS C:\POWERSHELL> (Get-Content .\PowerShellTips.ps1).count
141

# Largest file in a directory
PS C:\POWERSHELL> dir | Sort-Object -property length -Descending | Select-Object -first 1 | foreach-object {$_.length}
7157724

# Files created in the last 31 days
PS C:\POWERSHELL> dir | ?{$_.lastwritetime -ge ([datetime]::Now).AddDays(-31)} | %{"I am " + $_.Name}
I am PowerShellTips.ps1
I am test1.txt

PS C:\POWERSHELL> dir | %{if ($_.lastwritetime -ge ([datetime]::Now).AddDays(-31)) {"I am " + $_.Name}}
I am PowerShellTips.ps1
I am test1.txt
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Tagged with:

Filed under: Windows

Like this post? Subscribe to my RSS feed and get loads more!