First, the name of a normal minecart entity is actually "MinecartRideable".
Rather than just testing for a minecart being existent, we should make the minecart do something. The /execute command allows another command to be run as a specific entity. What we want the minecart to do is /execute an /effect command that damages nearby players:
/execute @e[type=MinecartRideable] ~ ~ ~ /effect @p[r=0] 7 10 0 true
Hook that up to a clock and all minecarts will constantly be giving damage to players that they touch. It doesn't need to check if it is actually touching anyone first, because if it isn't then nobody (@p[r=0]) will be hurt so it doesn't matter.
There's no real way to test for how fast a minecart is going, so be warned that it will always give the same amount of damage, even if you are the one pushing it away from you.
(We can technically test the speed of a minecart, but only in single values rather than a range, and its momentum tag can be decimal values.)
Try summoning a Minecart Chest riding placeholder entity.
/summon MinecartChest ~ ~-1 ~ {CustomName:"Hidden Chest",Riding:{id:Chicken,Invulnerable:1,NoAI:1,Silent:1,Age:-2147483648,ActiveEffects:[{Id:14,Amplifier:0,Duration:2147483647,ShowParticles:0b}]}}
Note: This command is too long to paste into chat, use command block instead.
Added information about Invincibility - See Making mobs invincible (David Toh's solution for more details) and http://minecraft.gamepedia.com/Chunk_format#Entity_format.
Best Answer
As far as I know, it is not in the AI of the bats to have "driveable" controls, so no, it can't be "driven".
But this command should work:
As for making it invincible, I'm not entirely sure if this will work (won't be able to test it until I get home)