Finally done it! I looked up how to remove invalid characters and YUS!
If I can simplify this, do tell me, but it works, that's the important thing.
<?xml version="1.0" encoding="utf-16"?>
<command id="647" name="Process ShoutOut" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<action>
<cmdType>Results.SetVar</cmdType>
<cmdString>ShoutFile&&{1}</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>Results.SetLastResult</cmdType>
<cmdString>{var.ShoutFile}</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>Results.RegExReplace</cmdType>
<cmdString>[^\w\.@-]</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>Results.RegExReplace</cmdType>
<cmdString>ZLibraryShoutoutsProcessing</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>Results.RegExReplace</cmdType>
<cmdString>[.wav]</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>Results.SetVar</cmdType>
<cmdString>ShoutFile</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>OSD.ShowText</cmdType>
<cmdString>{var.ShoutFile}</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>Launch.RawParam</cmdType>
<cmdString>C:\Program Files (x86)\sox-14-4-1\sox.exe&&"z:\library\shoutouts\processing\{var.ShoutFile}.wav" "z:\library\shoutouts\{var.ShoutFile}.wav" gain -n -3 silence 1 0.1 0.8% -1 0.5 0.8% contrast 50</cmdString>
<cmdRepeat>1</cmdRepeat>
</action>
<event>TcpMic.WavSaved</event>
</command>