Efficient File Management with PowerShell

This PowerShell script will help you manage files in a directory by organizing them into subfolders based on their file extensions. Follow the steps below to implement it effectively.
Step 1: Define the target directory
In this step, we will specify the directory that contains the files you want to organize. You can modify the path as per your requirements.

$targetDirectory = "C:\Your\Target\Directory"

Step 2: Get all files in the target directory
We will retrieve all files from the specified directory. This is essential for processing each file based on its extension.

$files = Get-ChildItem -Path $targetDirectory -File

Step 3: Iterate through each file
Using a loop, we will go through each file retrieved in the previous step. This allows us to perform operations on each individual file.

foreach ($file in $files) {

Step 4: Extract the file extension
For each file, we’ll obtain its extension. This will be used to create appropriate subfolders for organizing the files.

    $extension = $file.Extension.TrimStart('.')

Step 5: Create a subfolder for each extension
We will check if a subfolder for the file extension exists, and if not, create it. This will ensure that files are organized properly.

    $subfolderPath = Join-Path -Path $targetDirectory -ChildPath $extension
    if (-not (Test-Path -Path $subfolderPath)) {
        New-Item -ItemType Directory -Path $subfolderPath | Out-Null
    }

Step 6: Move the file to the corresponding subfolder
Finally, we will move each file into its respective subfolder based on its extension. This completes the organization process.

    $destinationPath = Join-Path -Path $subfolderPath -ChildPath $file.Name
    Move-Item -Path $file.FullName -Destination $destinationPath
}

Final Step: Execute the script
Once the entire script is assembled, you can execute it in your PowerShell environment to manage your files efficiently. Enjoy a well-organized file structure!