##JavaScript (ES6), 105 110 101 9797 82 bytes
Assumes that each numeric element is up to 99 characters long.
a=>a.sort((a,b)=>(F=s=>s.toLowerCase().replace(/\d+/g,n=>('0'.repeat(99)+n)n=>n.slicepadStart(-99)))(a)>F(b))
###Test
let f =
a=>a.sort((a,b)=>(F=s=>s.toLowerCase().replace(/\d+/g,n=>('0'.repeat(99)+n)n=>n.slicepadStart(-99)))(a)>F(b))
console.log(f([
'Abcd.txt',
'Cat05.jpg',
'Meme00.jpeg',
'abc.txt',
'cat.png',
'cat1.jpeg',
'cat02.jpg',
'meme03-1.jpeg',
'meme03-02.jpg',
'meme04.jpg'
]).join('\n'))