replace time range with first time in each line

Jul 13, 2015 at 8:14 PM
I have a file where each line is of the following format:
<variable text1>09:00-09:15 AM<variable text2>
<variable text3>11:15-11:30 AM<variable text4>
<variable text 5>01:45-02:00 PM<variable text6>

The variable texts are different on each line and different lengths. I want to get rid of the second time but leave the AM or PM, so the resulting file should be:

<variable text1>09:00 AM<variable text2>
<variable text3>11:15 AM<variable text4>
<variable text 5>01:45 PM<variable text6>

I need to perform this using FNR in a batch file. I tried to figure out how to do this, but I don't have much experience with regular expressions so I did not come up with anything that worked. Can someone help? Let me know if you need any additional information. Thanks in advance for your assistance.