Search the Community
Showing results for tags 'powershell'.
-
Updated to improve logging and code, new readme see updates at link below. https://ptmorris1.github.io/posts/RPCS3-ISO/ Download files from here: https://github.com/ptmorris1/RPCS3-ISOLauncher-Launchbox This script will take an ISO and mount it as a drive letter, then launch rpcs3.exe with the path to the mounted ISO's eboot.bin. Then waits for the rpcs3.exe process to close and un-mounts the ISO. No need to extract ISO files to play games! Let me know if issues for you and I can try to help!
-
Launchbox Precache Manager - Speed up your build View File LaunchBox Precache Manager (LPM) Mass image optimizer + precache system for LaunchBox libraries (PowerShell 5.1, ASCII-only). TL;DR LPM scans your LaunchBox Images folder, builds a compressed WebP/JPEG precache into: LaunchBox\Images\_Precache …then (optionally) swaps your original image folders for the precache using NTFS junctions. Original art is protected in: Images\_Originals LaunchBox/Big Box browsing gets faster and lighter You can restore originals at any time Designed for very large libraries (hundreds of thousands to millions of images). What’s included This package contains two main scripts: LB-Precache-Manager.ps1 – interactive front-end menu (the “manager”) Build-LaunchBox-Thumbnails-Parallel.ps1 – the “engine” that does the heavy lifting Optional (recommended): cwebp.exe – Google WebP encoder (best compression / speed) Launcher: Launch-LPM.cmd (optional convenience) You can also run the manager directly with PowerShell. High-level workflow Audit your Images folder (counts, types, savings estimates). Build thumbnails (create/update files in Images\_Precache). Backfill later (fill gaps only after partial runs or new content). Activate Precache (parks originals into _Originals, junction-swaps to _Precache). Restore Originals (undo junction swap, put everything back). Rebuild existing precache later with a new profile if you want tighter compression. Important notes up front Close LaunchBox and Big Box before running (especially Activate/Restore). Locked folders will be skipped. Back up first. Make a backup/snapshot of your LaunchBox folder if you’re cautious (recommended for first-time users). LPM does not change your game metadata except when you explicitly use: Clean XML references (only removes references to images already moved to _BadImages). Remote / network / external path warning (important) LPM is built for local, fixed disks. If your LaunchBox path is a mapped drive / UNC path / remote share, some operations will refuse to run and you will see: Remote paths not supported; run on the Launchbox PC. This prevents multi-day failures, broken junctions, and extreme slowdowns. SAFE vs FULL run mode At startup you’ll choose a run mode: SAFE: low impact (older/USB systems) FULL: uses hardware recommendations for faster multi-threaded work (best on SSD/NVMe) FULL mode will also show detected hardware and recommended defaults (workers/batch sizing). Why counts don’t always match It’s normal to see differences between: a simple file count script, and what the engine prints during scanning/building Reasons: The engine may walk additional internal paths (depending on mode and what already exists in your Images tree). “Visited directories” and “files matched” are progress counters, not a strict “real folder count.” Bottom line: don’t panic if counts don’t line up perfectly, especially after multiple runs or after Activate/Restore operations. Handling locked folders / “file in use” During Activate/Restore (and sometimes builds), you may see locked items skipped. What it means: LaunchBox/Big Box/Explorer/AV has something open. What LPM does: prints a warning continues with the rest (doesn’t abort the entire run) Fix: close LB/BB re-run the option (safe to re-run) Installation Extract the zip anywhere (Desktop/tools folder). Run one of: Launch-LPM.cmd (recommended convenience) or open PowerShell and run: .\LB-Precache-Manager.ps1 Recommended: Run PowerShell as Administrator for: junction swap operations optional Defender exclusion standby-cache clearing (RAM file cache) Logging LPM-Answers-Last.json This stores the last answered prompts so you can re-run the same build easily (Repeat mode uses this). This is NOT a log and remains on by default. Session logs can be viewed or deleted from the install folder. Batch mode also maintains small state/summary files so it can resume safely. Main Menu (Manager) You’ll see: Main Menu [0] Audit images (recommended first step) [1] Build Thumbnails [2] Activate Precache (junction swap) [3] WebP -> PNG hardlink aliases (LaunchBox compatibility) [4] Restore Originals [5] Clean XML references [6] Backfill missing precache from Images [7] Rebuild existing precache at new profile [8] Exit [B] Batch run-all (50,000 cap per session) [R] Repeat last build (use saved answers) [T] Clean LPM temp files (optional) WebP note (important): - LaunchBox / Big Box do not load images with a .webp extension. - LPM can still build WebP precache for disk savings, but you must create .png/.jpg filename aliases for LaunchBox. - Use menu option [3] to create .png hardlink aliases next to each .webp (no extra disk usage). - On startup, LPM checks whether Windows can decode WebP and (if missing) opens the Microsoft Store "WebP Image Extensions" page. [0] Audit images Walks the Images tree and produces: counts convertible totals rough space saving estimates planning hints per profile Outputs: lb_audit.json lb_audit.csv [1] Build Thumbnails Creates/updates the precache under: LaunchBox\Images\_Precache\... Profiles: Fast Balanced Extreme Custom Notes: If cwebp.exe is present, WebP is used (best compression). You can force JPEG-only (optional). [2] Activate Precache (junction swap) “Turns it on.” Moves originals to Images\_Originals\... Creates junctions under Images\... pointing to _Precache [3] WebP -> PNG hardlink aliases (LaunchBox compatibility) Run this after [1] or [2] to create replacement .png hardlinks for all the new .webp files for LB / BB compatibility. This will scan and create all the files in the _Precache folder. [4] Restore Originals Undoes Activate: removes junctions moves originals back from _Originals [5] Clean XML references Advanced/optional cleanup for broken image refs linked to _BadImages. [6] Backfill missing precache from Images Fills only what’s missing: finds originals without corresponding precache output generates precache copies only for those [7] Rebuild existing precache at new profile Re-encodes existing precache using a different profile (only replaces when beneficial, depending on settings). [B] Batch run-all (50,000 cap per session) This is for huge libraries with hundreds+ platforms/folders. What it does: Iterates through platform folders under Images Processes them in segments capped at 50,000 per batch session Writes output into: Images\_Precache\<Platform>\... Can resume where it left off in later runs using a state file Behavior: Prompts per platform with an auto-default (so you can run unattended) Designed so you can run overnight without bogging down the machine for days in one “run all” Batch state: LaunchBoxRoot\LPM-Batch-State.json (resume point / continuation) Batch summary: Writes short progress summaries to the LaunchBox root (easy to find) Also: Batch runs can clear standby cache automatically (admin required) before segments to reduce cache thrash. [R] Repeat last build (use saved answers) Re-runs your last answered configuration using: LPM-Answers-Last.json This is the “do exactly what I did last time” option. [T] Clean LPM temp files (optional) Cleans LPM temporary working files (typically under Windows %TEMP% related to LPM processing). This is safe housekeeping and does not change your LaunchBox Images content. Notes about WebP + LaunchBox LaunchBox can display WebP files when they’re in place in the Images tree, but: Drag/drop and scraping workflows typically expect PNG/JPG sources. LPM’s approach keeps originals safe, while precache improves performance. Clear Logos: PNG sources are strongly recommended (transparency matters). Recommendation for first-time users Run Audit Run Build Thumbnails with Balanced Test LaunchBox/Big Box performance Then consider Activate Precache Support / community If you like this and want to help me out, buy me a coffee https://buymeacoffee.com/mcflylpm Submitter -McFly- Submitted 11/22/2025 Category Third-party Apps and Plugins
-
This is a basic Script that mounts XISO using xbox-iso-vfs and Dokan v2, so that you can use CXBX-Reloaded with ISO's As i have been using Xemu as a daily driver i always like to check in with the other Emulators out there, as updates are happening quickly, i did not want to have an extracted ISO folder and an ISO folder, so this was my solution to have my cake and eat it too! I used the excellent RPCS3-ISOLauncher as a base. (https://github.com/ptmorris1/RPCS3-ISOLauncher-Launchbox) And of course https://github.com/x1nixmzeng/xbox-iso-vfs A massive thank you to ptmorris1 and to x1nixmzeng and @LukeUsher (for CXBX-Reloaded ) Installation Download Dokan v2 - x64/x86 or all releases Run the Dokan installer Download xbox-iso-vfs - latest version Posted Below is the Script for any Powershell Experts out there (please note i am not one of them 😄) # Will get ISO param from Launchbox param ( [Parameter(Mandatory=$true)] [string]$ISOpath ) # Put script in same folder as cxbxr-ldr.exe or change to direct path $cxbcr = "D:\Emulators\CXBX\cxbxr-ldr.exe" $command = "D:\Emulators\CXBX\xbox-iso-vfs.exe" $drive = "S:" # Created the $path variable to the default.xbefile for lanching in Cxbx-Reloaded Start-Process -FilePath $command -ArgumentList `"$ISOpath`", $drive -NoNewWindow:$false # Created the $path variable to the default.xbe file for lanching in Cxbx-Reloaded Start-Sleep -Seconds 2 # Created the $path variable to the default.xbe file for lanching in Cxbx-Reloaded $path = "$drive\default.xbe" # Lanches Cxbx-Reloaded with default.xbe path & $cxbcr /load $path # sleeps 2 seconds until Cxbx-Reloaded has a chance to start Start-Sleep -Seconds 2 # Waits for cxbx to be closed Wait-Process cxbx Stop-Process -Name xbox-iso-vfs Some items to update before using , these are mandatory (unless your setup is exactly like mine, then full steam ahead!) $cxbcr = (Update to your Location of CXBX-Reloaded) $command = (Update to your location of xbox-iso-vfs) $drive = (which ever drive you would like to mount your XISO to) Just like the RPCS3-ISOLauncher, this will mount the ISO launch CXBX-Reloaded and once you exit it will release the mount and close it self Usage: Download Dokan V2 & Xbox-iso-vfs with Links Provided, Download and this Script from Here Modify Powershell Script to reference your locations and timings $cxbcr = "This will be the location of you CXBX-Reloader Location (cxbxr-ldr.exe)" $command = "This will be the location of you xbox-iso-vfs Location (xbox-iso-vfs.exe)" $drive = "This will be the Drive Letter of your choice (S:)" Depending on Your System specification you can modify the Start-Sleep to be quicker than 2 seconds or Longer Setup Launch box emulator like below screenshot. (Emulator name can be whatever you want.) Set application path to Powershell.exe. (Make your choice based on whichever you Prefer) Powershell 7 application path - Must be installed C:\Program Files\PowerShell\7\pwsh.exe WindowsPowershell application path - Built into Windows C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe Default Command-Line Parameters: -noprofile -executionpolicy bypass -WindowStyle hidden -file "Update to your location\CXBX-ISO-LaunchBox.ps1" Please note after this will be your location you have the powershell Script Make sure to associate with platform tab: Microsoft Xbox (or What ever you have this set too) This will allow you to Right Click on a Game and and Select your Alternative Emulator Start playing ISO games with CXBX-Reloaded under Launchbox! CXBX-ISO-LaunchBox.zip
- 2 replies
-
- 3
-
-
-
- iso
- powershell
-
(and 1 more)
Tagged with:
-
Greetings, Sorting through the various platforms that are supported in Teknoparrot can be quite a chore. I've written a script, that will plow through the games you have setup and sort them by platform so you can just drag and drop them into launchbox. known issue: - game titles with : in string wil not create folder (WIP) (fixed) - (script updated) # Author klopjero #Teknoparrot, game Sorting by platform script for use with launchbox # The function of this script is to allow the user to scan for games that are set up in teknoparrot, sort them into platformsso that they can be added to Launchbox. # import the results using folder names. #load assembly fiels for file browser Add-Type -AssemblyName System.Windows.Forms #variables #get teknoparrot location Add-Type -AssemblyName System.Windows.Forms $FolderBrowser = New-Object System.Windows.Forms.FolderBrowserDialog $FolderBrowser.Description = 'Select the folder containing TeknoParrotUI.exe' $result = $FolderBrowser.ShowDialog((New-Object System.Windows.Forms.Form -Property @{TopMost = $true })) if ($result -eq [Windows.Forms.DialogResult]::OK){ $FolderBrowser.SelectedPath } else { exit } $Teknoparrot = $FolderBrowser.SelectedPath $Teknoparrot #Check if TeknoparrotUI.exe lives in $Teknoparrot $found = Test-path $Teknoparrot\TeknoparrotUI.exe IF($found = $true) { Write-Host TheBird is alive matey!, plunderin yer games now, ship ahoy! $imports = Test-Path "$Teknoparrot\imports" IF($imports -eq $false) { new-item -ItemType Directory "$Teknoparrot\imports" } #get your setup games, including platform and full game name $TPSetgames = Get-ChildItem $Teknoparrot\gameProfiles\*.xml | select-object -ExpandProperty BaseName foreach ($TPSetgame in $TPSetgames) { $TPSetgame [xml]$XML = Get-Content $Teknoparrot\GameProfiles\$TPSetgame.xml $gamenameraw = $xml.gameprofile.gamename #clean nasty unwanted characters from game name to allow for folder creation $gamename = $gamenameraw -replace ":","" $json = Get-content $Teknoparrot\descriptions\$TPSetgame.json -raw |ConvertFrom-Json $platform = $json.platform $Tp2pt = test-path $Teknoparrot\imports\$platform\ IF ($Tp2pt -eq $false) { write-host creating new folder $Teknoparrot\imports\$platform\$gamename\$TPSetgame.xml New-Item -ItemType Directory $Teknoparrot\imports\$platform -force New-Item -itemType Directory $Teknoparrot\imports\$platform\$gamename -Force New-Item -ItemType File $Teknoparrot\imports\$platform\$gamename\$TPSetgame.xml -Force } write-host creating new folder $Teknoparrot\imports\$platform\$gamename\$TPSetgame.xml New-Item -itemType Directory $Teknoparrot\imports\$platform\$gamename -Force New-Item -ItemType File $Teknoparrot\imports\$platform\$gamename\$TPSetgame.xml -force } #open imports folder. Invoke-Item $Teknoparrot\imports } teknoparrotfinder.ps1anyway, hope you find it usefull. any feedback would be nice.
- 1 reply
-
- teknoparrot
- powershell
-
(and 1 more)
Tagged with: