Having /var %blah = 1 "work" from the commandline would be totally useless since it would mean pipes weren't processed and so the variable would be immediately destroyed since no other commands could use it. The same goes for /if - there's no point having an /if condition if the command block following it won't be executed.