Skip to content

A collection of practical PowerShell scripts for file management, media handling (yt-dlp, ffmpeg), and general automation tasks. Simplify your daily workflows with ready-to-use, no-fuss scripts.

Notifications You must be signed in to change notification settings

saandhikaa/power-scripts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚡ PowerShell 7 Script Collection

A personal collection of PowerShell 7 scripts to automate repetitive tasks, manage files, and process media.


📁 Scripts Overview

Script Name Description
ytdlp Downloads videos/audio/subtitles from online sources via yt-dlp with simple options.
ffmpeg Wraps common ffmpeg tasks like audio extraction, merging, format conversion, and tag editing.
collect-files Collects and copies files from nested directories based on a given list or filenames.
duplicate-check Detects duplicate files by filename (excluding extension) in current and subdirectories.
get-file-list Outputs a structured list of files grouped by their folder to FileList.txt.
rename-files Renames files based on a CSV-style list, with include/exclude folder filtering.
clear-autocad-plot-suffix Recursively renames exported AutoCAD PDFs by removing suffixes like -Layout1 or -Model.
image2pdf Converts all images in a folder into individual PDFs using Microsoft Print to PDF.
pwsh-context-menu Quickly add or remove right-click context menu entries to open PowerShell 7 in any folder or folder background.

Note: You can run this script with -Help option to display all available options along with usage instructions and examples.


⚙️ Setup on Windows

This script collection works best with PowerShell 7+. Follow these steps to get started:

1. Install PowerShell 7

If you're still using Windows PowerShell 5.1, it's strongly recommended to upgrade to PowerShell 7 for better performance and compatibility.

  • Visit the official GitHub releases page here.

  • Scroll down to the "Assets" section.

  • Download the appropriate installer for your system: PowerShell-<version>-win-x64.msi. Example: PowerShell-7.5.2-win-x64.msi

  • Open the .msi file to start the installation and follow the setup wizard.

Once installed, open PowerShell 7 (you can find it as PowerShell 7 in your Start Menu or run pwsh from any terminal).

2. Clone This Repository to Your PowerShell Folder

Inside your PowerShell 7 terminal, you can use either method below to set up the repository inside your PowerShell folder:

Without Git (using curl):

curl -L -o "$env:TEMP\repo.zip" "https://github.com/saandhikaa/power-scripts/archive/refs/heads/main.zip"; Expand-Archive "$env:TEMP\repo.zip" "$env:TEMP\repo" -Force; Move-Item "$env:TEMP\repo\power-scripts-main\*" "$HOME\Documents\PowerShell\" -Force; Remove-Item "$env:TEMP\repo.zip","$env:TEMP\repo" -Recurse -Force

Or, with Git (if installed):

git clone https://github.com/saandhikaa/power-scripts.git "$HOME\Documents\PowerShell"

This will place the scripts directly under your Documents\PowerShell\ folder.

3. Add Script Folder to PATH

To use your scripts globally (from any folder), run:

[Environment]::SetEnvironmentVariable("PATH", $env:PATH + ";$HOME\Documents\PowerShell\Scripts", "User")

Then restart your terminal.

4. Allow Scripts to Run

If this is your first time running custom PowerShell scripts, you may need to allow it:

Set-ExecutionPolicy -Scope CurrentUser RemoteSigned

When prompted, type Y to confirm.

5. Enable PowerShell 7 context menu (optional):

Open PowerShell 7 as Administrator, run:

pwsh-context-menu.ps1 -Enable

🎉 That’s it! You’re now ready to use the scripts to simplify your file handling and automation tasks.


📦 External Tools

Some scripts rely on external tools stored in the Library/ directory:

Tool Path GitHub / Source Link
yt-dlp Library/ytdlp/yt-dlp.exe github.com/yt-dlp/yt-dlp
ffmpeg Library/ytdlp/ffmpeg.exe github.com/FFmpeg/FFmpeg

These tools are downloaded and maintained automatically if missing. They are excluded from Git tracking.


💡 Contribution

Want to improve or add new features?

  • Fork this repo
  • Create a branch: git checkout -b feat/feature-name
  • Commit your changes
  • Push and open a pull request

Let's build something helpful together!


📄 License

This repository is intended for personal use and experimentation. You’re free to adapt it to your own workflows.


About

A collection of practical PowerShell scripts for file management, media handling (yt-dlp, ffmpeg), and general automation tasks. Simplify your daily workflows with ready-to-use, no-fuss scripts.

Topics

Resources

Stars

Watchers

Forks