53 lines
1.6 KiB
Bash
53 lines
1.6 KiB
Bash
#!/bin/bash
|
|
|
|
# Date: 02/13/2023
|
|
# Author: Anthony Correa
|
|
# I used this script to batch archive bin/cues to CHD.
|
|
# It will create a file based on the folder file name
|
|
# It should automatically skip if there is a folder already in the output directory
|
|
|
|
# Usage: $ ./convert_cue_chd.sh <input_directory>
|
|
|
|
# for example, to use a directory with wildcards:
|
|
# use with convert_cue_chd.sh */.
|
|
|
|
# output_directory is the directory where the unarchived folders will go
|
|
output_directory=../out
|
|
mkdir -p "$output_directory"
|
|
i=1
|
|
for FOLDER in "$@";
|
|
do
|
|
##echo "$fi"
|
|
echo $'\n'"=="`printf %03d $i`"/"`printf %03d $#`"============================================================================="
|
|
echo "Input folder: $FOLDER"
|
|
|
|
infiles=("$FOLDER"/*.cue)
|
|
for INFILE in "$infiles";do
|
|
filename=$(basename -- "$INFILE")
|
|
outname="${filename%.*}.chd"
|
|
outpath="$output_directory/$outname"
|
|
##touch "./out/${fi%%.*}.new"
|
|
|
|
if [ ! -f "$outpath" ]; then
|
|
echo "Input file: $filename"
|
|
echo "Output path: $outpath"
|
|
echo $'\n'
|
|
./gdi-conversion-linux -c "$INFILE"
|
|
chdman createcd -i "$FOLDER/output/disc.gdi" -o "$outpath"
|
|
rm -r "$FOLDER/output"
|
|
else
|
|
echo "$outpath exists... skipping"
|
|
fi
|
|
done
|
|
((i+=1))
|
|
done
|
|
echo "======================================================================================"
|
|
echo $'\n'
|
|
echo "Done converting"
|
|
|
|
# at one point I wanted to tar the results to make it easier to transfer all the contents
|
|
# but i changed my mind, so i commented it out. this is here in case i change my mind again.
|
|
#echo "now tarring"
|
|
#tar -cvf out.tar "$output_directory"
|
|
echo "Done!"
|