Do this:
- (In the Arduino IDE) File > New
- File > Preferences > Show verbose output during: > upload (check) > OK
- Tools > Board > Arduino/Genuino Micro
- Tools > Port > COM4
- Sketch > Upload
- Wait for upload to finish
- Scroll the black console window at the bottom of the Arduino IDE window up until you see the avrdude command the Arduino IDE used to upload. It will look something like this:
C:\Users\per\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino14/bin/avrdude -CC:\Users\per\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino14/etc/avrdude.conf -v -V -patmega32u4 -cavr109 -PCOM11 -b57600 -D -Uflash:w:C:\Users\per\AppData\Local\Temp\arduino_build_426050/sketch_may16b.ino.hex:i
- Use your mouse to highlight the entire line
- Press Ctrl + C
- Open a text editor
- Press Ctrl + V
- If there are any paths with spaces in them in the command you need to put them in quotes (for example "C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe").
- Change the .hex file name in the command to the .hex file you're trying to upload to your Pro Micro. Specify the full path to the file.
- Press Ctrl + A
- Press Ctrl + C
- Start the Windows command line (Start button > Run > cmd).
- Press Ctrl + V
- Momentarily connect a jumper wire between the RST and GND pins on your Pro Micro
- Immediately press the "Enter" key on your keyboard to run the avrdude commmand you pasted to the Windows command line.
AVRDUDE should now upload the .hex file to your Pro Mini.