Created
February 19, 2019 17:39
-
-
Save fischgeek/af584af4274075260aa19ffa2f99b32c to your computer and use it in GitHub Desktop.
Revisions
-
fischgeek created this gist
Feb 19, 2019 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,54 @@ Clear-Host # Point to the makemkvcon.exe (https://www.makemkv.com/download/) Set-Alias makemkv "C:\Program Files (x86)\MakeMKV\makemkvcon.exe" # Point to the HandBrakeCLI.exe (https://handbrake.fr/downloads2.php) Set-Alias handbrake "C:\Program Files\Handbrake\HandBrakeCLI.exe" # Define where your Plex library is (final resting place) $plex = "\\server\plex\movies" # Define a temporary directory to store the MKV files in $dir = "C:\makemkv" # -------------------------------------------------- $title = Read-Host -Prompt "Enter movie title" $start = (Get-Date) "Running MakeMKV process..."; makemkv mkv disc:0 all c:\makemkv "Finding the largest file..." $file = Get-ChildItem $dir | Sort-Object Length -Descending | Select-Object -First 1 $baseName = $title #$file.BaseName $outFile = "$dir\$baseName".ToLower() #-replace ".{4}$" $outFile = $outFile.Replace("_", " ") $outFile += ".mp4" #"Deleting unnecessary files..." #Get-ChildItem $dir | Where-Object{$_.Name -cne $file.Name} | Where-Object{Remove-Item $_.FullName -WhatIf} "Running Handbrake process..." handbrake -i $file.FullName -o $outFile "Moving file to Plex..." Move-Item "$outFile" "$plex" "Cleaning up the directory..." Get-ChildItem $dir | Remove-Item $v = [math]::Round(((Get-Date) - $start).TotalMinutes, 2) "Process complete." "Total process execution time: $v minutes" try { $d = New-Object -ComObject IMAPI2.MsftDiscMaster2 $dr = New-Object -ComObject IMAPI2.MsftDiscRecorder2 $dr.InitializeDiscRecorder($d) $dr.EjectMedia() } catch { } " " Read-Host