Friday, August 19, 2016

PowerShell - Manipulate folders

# Creates a timestamp such as 2016-08-19_21-32-45 (August 19, 2016 at 9:32:45 PM)
$timestamp = $(get-date -f yyyy-MM-dd_HH-mm-ss)

$foldername = "c:\temp\" + $timestamp

mkdir $foldername

# Remove a folder
rmdir -Recurse $foldername

# Creates some subdirectories

mkdir "$foldername\child1"
mkdir "$foldername\child2"
mkdir "$foldername\child3"

mkdir "$foldername\child1\grandchildA"
mkdir "$foldername\child1\grandchildB"

# Dashes
Write-Host $('-' * 70)

# Retrieve subdirectories
Get-ChildItem $foldername | Where-Object PSIsContainer

# Dashes
Write-Host $('-' * 70)

# Check to see if the folder exists
Write-Host "Does $foldername exist:"
Test-Path $foldername

$bustedFolder = "c:\temp\banana"
Write-Host "Does $bustedFolder exist:"
Test-Path $bustedFolder

# Copy a folder
Copy-Item "$foldername\child1\grandchildA" "$foldername\child2\grandchildC" -Force

# Move a folder
Move-Item "$foldername\child2\grandchildC" "$foldername\child3"

# Cleanup
rmdir -Recurse $foldername