#!/bin/bash if [ ! -z "$1" ]; then path=$(readlink -f "$1") winpath=$(echo $path | sed -E "s/\/cygdrive\/([a-z])/\u\1\:/" | sed "s/\//\\\/g") echo Mounting $winpath powershell.exe "Mount-DiskImage \"$winpath\"" isodrive=$(powershell.exe "Get-DiskImage \"$winpath\" | Get-Volume | Select-Object DriveLetter" | grep "\-\-\-" -A1 | tail -n1 | rev | cut -d' ' -f1 | rev | sed -E "s/\r//g") if [ ! -z $isodrive ]; then echo "Mounted on ${isodrive}:\\" cygpath=$(echo $isodrive | sed -E "s/([A-Z])/\/cygdrive\/\l\1/" | sed -E "s/\r//g") echo "Cygwin Path: $cygpath" zipfile=$(echo $path | rev | cut -d'.' -f2- | rev).zip echo "Output zip: $zipfile" cd "$cygpath" zip -9r "$zipfile" . echo "ZIP created, unmounting ISO" powershell.exe "Dismount-DiskImage \"$winpath\"" exit 0; fi exit 1 else echo "Usage: $0 isofile" exit 1 fi