Do what Dalran said for Mac, but for Windows, make sure the minecraft.exe is not in a folder, make sure that in the Library>Application Support folder, the minecraft folder has been changed to .minecraft, and put this in the .bat file (not what Dalran said)
SET APPDATA=%CD%\Library\Application Support
For some reason Windows doesn't allow you to add a dot at the beginning of a folder's name. If you forgot to change the minecraft folder to .minecraft while on the Mac, simply change it to
while on Windows and it will automatically delete the last . for you.
edit: One way to avoid that E/\Users\YOUR USER\Library\Application Support\minecraft folder being made, or Minecraft running off your computer's Minecraft folders and/or making a new minecraft folder in the real application support, is to open the Minecraft launcher, choose the profile you want, edit the profile, and where it says source, change that to
volumes/FLASH\ DRIVE\ NAME/Library/Application Support/minecraft
^ Do not listen to what that edit says!!! ^
The only reason that folder was made was because Game Directory was selected as on in the first place.
Edit #2: So, I figured out why it wouldn't run on Windows, I had set my profiles to have way to much ram, and the computer I was using simply didn't have the processing power, so I changed that and it ran just fine (on both the VMBox and an actual Windows computer), though a bit laggy (I recommend getting something like a 2x2/4x4/8x8 texture/resource pack which should help, as well as editing the video settings to have things like max fps, low viewing distance, no clouds, etc. (depending on your computers abilities, or if you even have that set up for your profile).
Basically, don't mess around to much with the profile editor like I did, all you should change is the version selection section, the profile name, launcher visibility, and maybe resolution.