From Hydrogenaudio Knowledgebase
 General information
Some features of foobar2000 can be accessed through a simple command line interface.
Each command line parameter is either parsed as a command (starting with a slash), or as the name of a file/folder that the user wishes to open or add to a playlist (the behaviour depends on other command line switches and setting under "Preferences > Shell Integration"). Arguments containing spaces can be escaped using double quotes, e.g. »foobar2000.exe "01 First Track.mp3"« or »foobar2000.exe "/command:Play or pause"« or »foobar2000.exe /command:"Play or pause"«.
The set of available command line commands can be extended using additional components.
 Basic commands
This is what »foobar2000.exe /?« shows as of version 1.1 – most of the commands are self-explanatory:
Available switches: /add <list-of-files> - appends the specified files to the current playlist instead of replacing the playlist content and playing them immediately /immediate - bypasses the "please wait" dialog when adding files /play, /pause, /playpause, /prev, /next, /rand, /stop - playback controls /exit - exits foobar2000 /show, /hide - shows or hides the main foobar2000 window /config - opens the Preferences dialog /command:<menu command> - invokes the specified main menu command /playlist_command:<context menu command> - invokes the specified context menu command on current playlist selection /playing_command:<context menu command> - invokes the specified context menu command on currently played track /context_command:<context menu command> <files> - invokes the specified context menu command on the specified files
Changes the default behaviour of "opening" (replace active playlist and start playback) files and directories found on the command line.
foobar2000 always sorts incoming files using the pattern configured under "Preferences > Shell Integration". Because there is a possibility that more files belonging to the same batch will be passed to the program, adding the items really to a playlist is postponed until no new file is received for a short while, because only with the full set of incoming files they can be correctly sorted. Use this option to disable this behaviour for the currently added items.
/command:<...> and /xxx_command:<...>
The command names can be derived e.g. from the "Preferences > Keyboard Shortcuts" dialog: look in the sub-section [main] for main menu commands (e.g. /command:Console) or [context] for the other types (e.g. /playing_command:Properties). Use only the final command name; do not specify the name of the parent menu or any other part of the menu path/group. (Note: this limits the usage of these commands in some cases; look into the foo_runcmd component if you need more functionality.)
Known components which provide additional command line functionality: