This script converts all .wav
files in the current directory and its subdirectories to .opus
format, using either a Windows command-line script or a Bash translation. The script can also be modified to simply echo the file paths instead of performing the conversion.
for /r %%v in (*.wav) do opusenc "%%v" "%%~dpv%%~nv.opus"
#TODO: WOOOO! Bash pattern, convert this with transpiler to match linux loops with same filename extension operation
#bash
for i in $(find . -iname '*.wav'); do opusenc "$i" "${i%.wav}".opus; done
for i in $(find . -iname '*.wav'); do echo "$i"; done
#!/bin/bash
# Find all.wav files recursively in the current directory
for file in $(find. -iname '*.wav'); do
# Convert.wav files to.opus
opusenc "$file" "${file%.wav}.opus"
echo "Converted: $file"
done
Code Breakdown
for /r %%v in (*.wav) do opusenc "%%v" "%%~dpv%%~nv.opus"
This is a Windows command-line script that loops through all .wav
files in the current directory and its subdirectories.
for /r
is used to recursively iterate through files in the current directory and its subdirectories.%%v
is the loop variable, which takes the value of each file name during each iteration.opusenc
is the command used to convert .wav
files to .opus
format."%%v"
is the input file path, and "%%~dpv%%~nv.opus"
is the output file path, where:
%%~dpv
gets the drive letter and directory path of the file.%%~nv
gets the file name without the extension.for i in $(find. -iname '*.wav'); do opusenc "$i" "${i%.wav}".opus; done
This is the equivalent Bash script for the above Windows command-line script.
find. -iname '*.wav'
is used to find all .wav
files in the current directory and its subdirectories.for i in...
loops over the files found.${i%.wav}
gets the file name without the extension.opusenc
is called with the original file path ($i
) and the output file path (${i%.wav}.opus
).for i in $(find. -iname '*.wav'); do echo "$i"; done
This script does the same as the previous one but instead of converting the files, it simply echoes the file paths.
echo
command is used to print the file path to the console.