Changing fuse and lock bytes

Is there a way to change the fuse and lock bits through avrdude and the bootloader?

The following command gives me a message that writing failed.

C:/tcp/avrdude.exe -u -C C:/tcp/avrdude.conf -p m328p -P com7 -c stk500v1 -F -b57600 -e -U lock:w:0x3f:m -U lfuse:w:0xff:m -U hfuse:w:0xda:m -U efuse:w:0x05:m:

I know that can change them with avrdude and my Arduino as ISP but it would be a lot easier for me if I could get this to work through the bootloader.

The bootloader doesn not support changing fuse/lock bits. Writing through the bootloader is restricted to memory types EEPROM and flash - so you will need an external programmer for this.