|
| 1 | +# PowerShell Commander |
| 2 | + |
| 3 | +A modern dark-themed GUI for managing and running PowerShell scripts. |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | +## Features |
| 9 | + |
| 10 | +- **Dark Modern UI**: Built with CustomTkinter for a sleek, modern interface |
| 11 | +- **Category Organization**: Scripts organized into Files, Computer, Network, Audio, Apps, Dev, Utils, and Custom categories |
| 12 | +- **Script Manager**: Add/remove scripts from categories through a visual interface |
| 13 | +- **Interactive Scripts**: Full support for scripts that require user input via dialog boxes |
| 14 | +- **Output Console**: Real-time script output display with scrolling |
| 15 | +- **Script Dump Folder**: Store all your scripts in one place, then pick which ones to show in the GUI |
| 16 | +- **Windows Startup**: Auto-launch when Windows starts |
| 17 | + |
| 18 | +## Installation |
| 19 | + |
| 20 | +### Prerequisites |
| 21 | + |
| 22 | +- Python 3.8 or higher |
| 23 | +- PowerShell 5.1+ (Windows) or PowerShell Core (Linux/macOS) |
| 24 | + |
| 25 | +### Quick Start |
| 26 | + |
| 27 | +1. Install dependencies: |
| 28 | + ```bash |
| 29 | + pip install -r requirements.txt |
| 30 | + ``` |
| 31 | + |
| 32 | +2. Run the application: |
| 33 | + ```bash |
| 34 | + python powershell_commander.py |
| 35 | + ``` |
| 36 | + |
| 37 | +### Windows Auto-Start |
| 38 | + |
| 39 | +To make PowerShell Commander start with Windows: |
| 40 | + |
| 41 | +1. Run `install_startup.bat` |
| 42 | +2. Done! The app will now launch when Windows starts |
| 43 | + |
| 44 | +To remove from startup: |
| 45 | +- Run `uninstall_startup.bat` |
| 46 | + |
| 47 | +## Usage |
| 48 | + |
| 49 | +### Categories |
| 50 | + |
| 51 | +- **Files**: File and folder operations (create, delete, zip, convert) |
| 52 | +- **Computer**: System monitoring (CPU, RAM, drives, processes) |
| 53 | +- **Network**: Network tools (DNS, ping, VPN, WiFi) |
| 54 | +- **Audio**: Sound controls (volume, text-to-speech, play audio) |
| 55 | +- **Apps**: Application management (open, close, install) |
| 56 | +- **Dev**: Development tools (Git operations, build, clean) |
| 57 | +- **Utils**: Utilities (weather, news, hash, screenshot) |
| 58 | +- **Custom**: Your personal scripts |
| 59 | + |
| 60 | +### Managing Scripts |
| 61 | + |
| 62 | +1. Click **"Manage Scripts"** in the header |
| 63 | +2. Search for scripts in the left panel |
| 64 | +3. Select a category from the dropdown |
| 65 | +4. Click **"Add"** to add a script to the category |
| 66 | +5. Click **"Remove"** to remove a script from a category |
| 67 | + |
| 68 | +### Adding Custom Scripts |
| 69 | + |
| 70 | +1. Place your `.ps1` scripts in the `script_dump` folder |
| 71 | +2. Open Script Manager |
| 72 | +3. Find your script and add it to the desired category |
| 73 | +4. Edit `config/scripts_config.json` to customize display name, description, and input prompts |
| 74 | + |
| 75 | +### Interactive Scripts |
| 76 | + |
| 77 | +For scripts that require user input, configure them in `scripts_config.json`: |
| 78 | + |
| 79 | +```json |
| 80 | +{ |
| 81 | + "name": "my-script", |
| 82 | + "display_name": "My Script", |
| 83 | + "description": "Does something cool", |
| 84 | + "requires_input": true, |
| 85 | + "input_prompts": [ |
| 86 | + { |
| 87 | + "name": "path", |
| 88 | + "label": "Enter Path", |
| 89 | + "placeholder": "C:\\path\\to\\folder", |
| 90 | + "default": "" |
| 91 | + } |
| 92 | + ] |
| 93 | +} |
| 94 | +``` |
| 95 | + |
| 96 | +## Configuration |
| 97 | + |
| 98 | +The main configuration file is `config/scripts_config.json`. You can: |
| 99 | + |
| 100 | +- Add/remove categories |
| 101 | +- Customize category icons and descriptions |
| 102 | +- Configure which scripts appear in each category |
| 103 | +- Set up input prompts for interactive scripts |
| 104 | +- Adjust window size and scripts per row |
| 105 | + |
| 106 | +## File Structure |
| 107 | + |
| 108 | +``` |
| 109 | +gui/ |
| 110 | +├── powershell_commander.py # Main application |
| 111 | +├── requirements.txt # Python dependencies |
| 112 | +├── start_commander.bat # Windows launcher |
| 113 | +├── install_startup.bat # Add to Windows startup |
| 114 | +├── uninstall_startup.bat # Remove from startup |
| 115 | +├── config/ |
| 116 | +│ └── scripts_config.json # Category/script configuration |
| 117 | +└── script_dump/ # Custom scripts folder |
| 118 | +``` |
| 119 | + |
| 120 | +## Keyboard Shortcuts |
| 121 | + |
| 122 | +- **Enter**: Submit input dialogs |
| 123 | +- **Escape**: Cancel input dialogs |
| 124 | + |
| 125 | +## Troubleshooting |
| 126 | + |
| 127 | +### "Python not found" |
| 128 | +Install Python from https://python.org and ensure it's added to PATH. |
| 129 | + |
| 130 | +### "customtkinter not found" |
| 131 | +Run: `pip install customtkinter` |
| 132 | + |
| 133 | +### Scripts not running |
| 134 | +- Ensure PowerShell execution policy allows scripts |
| 135 | +- Run: `Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser` |
| 136 | + |
| 137 | +## License |
| 138 | + |
| 139 | +CC0 - Public Domain |
0 commit comments