Foobar2000:Commandline Guide: Difference between revisions

From Hydrogenaudio Knowledgebase
m (cat)
m (Minor formatting changes.)
 
(12 intermediate revisions by 6 users not shown)
Line 1: Line 1:
==Verbage from "foobar2000.exe /?"==
{{fb2k}}
==General information==
Some features of foobar2000 can be accessed through a simple command line interface.


===Basic Help===
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 > [[Foobar2000:Preferences:Shell_Integration|Shell Integration]]"). Arguments containing spaces can be escaped using double quotes, e.g. <code>foobar2000.exe "01 First Track.mp3"</code> or <code>foobar2000.exe "/command:Play or pause"</code> or <code>foobar2000.exe /command:"Play or pause"</code>.


Available switches:
The set of available command line commands can be extended using additional components.
/add, /play, /pause, /playpause, /prev, /next, /rand, /stop, /exit, /show, /hide, /config
/command:<menu command>, /playlist_command: <context menu command>,
/playing_command:<context menu command>


===More Advanced Help===
==Basic commands==
This is what <code>foobar2000.exe /?</code> shows as of version 1.1 &ndash; most of the commands are self-explanatory:


'''Useage:'''
<pre>
 
Available switches:
/tag:help - displays this message
  /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
/tag:<command1>[;<command2>;<command3>...] <file1> [<file2> <file3>...]
  /play, /pause, /playpause, /prev, /next, /rand, /stop - playback controls
 
  /exit - exits foobar2000
 
  /show, /hide - shows or hides the main foobar2000 window
'''Commands:'''
  /config - opens the Preferences dialog
 
  /command:<menu command> - invokes the specified main menu command
<NAME>=<VALUE>
  /playlist_command:<context menu command> - invokes the specified context menu command on current playlist selection
* Sets <NAME> field to <VALUE>, e.g. "/tag:title=test <file>".
  /playing_command:<context menu command> - invokes the specified context menu command on currently played track
* You can erase particular field by specifying empty value, e.g. "/tag:comment= <file>".
  /context_command:<context menu command> <files> - invokes the specified context menu command on the specified file
* You can also specify multiple values by separating them with \ character, e.g. "/tag:artist=name1\name2 <file>".
</pre>
 
AUTOTRACKNUMBER
* Sets TRACKNUMBER field of multiple files according to their order in commandline.
* E.g. "/tag:AUTOTRACKNUMBER <file1> <file2> <file3>" will assign TRACKNUMBER=1 to <file1>, 2 to <file2> and 3 to <file3>.


FORMAT:<FIELD>:<SPEC>
===Clarifications===
* Formats <FIELD> using <SPEC>; see title formatting manual for more info how to use it.
;<code>/add</code>
* E.g. "/tag:FORMAT:COMMENT:"%ARTIST% - %TITLE%" <file>".
:Changes the default behaviour of "opening" (replace active playlist and start playback) files and directories found on the command line.


GUESS:<PATTERN>:<SPEC>
;<code>/immediate</code>
* Guesses field values using <PATTERN>, according to <SPEC>.
:foobar2000 always sorts incoming files using the pattern configured under "Preferences > [[Foobar2000:Preferences:Shell_Integration|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.
* To perform "guess values from filename" action, use "/tag:GUESS:<PATTERN>:%_FILENAME% <file>".
* E.g. "/tag:GUESS:"%TRACKNUMBER%. %TITLE%":%_FILENAME% <file>".


==Examples==
;<code>/command:<...></code> and <code>/xxx_command:<...></code>
:The command names can be derived e.g. from the "Preferences > [[Foobar2000:Preferences:General:Keyboard_Shortcuts|Keyboard Shortcuts]]" dialog: look in the sub-section ''[main]'' for main menu commands (e.g. <code>/command:Console</code>) or ''[context]'' for the other types (e.g. <code>/playing_command:Properties</code>). 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 [[Foobar2000:Components_0.9/Run_Commands_(foo_runcmd)|Run Commands (foo_runcmd)]] component if you need more functionality.)


Please add
==Extensions==
Known components which provide additional command line functionality:
* [[Foobar2000:Components/Masstagger_(foo_masstag)|Masstagger (foo_masstag)]] &ndash; <code>/tag:xxx</code> commands for tag modifications.
* [[Foobar2000:Components_0.9/Run_Commands_(foo_runcmd)|Run Commands (foo_runcmd)]] &ndash; Family of <code>/runcmd=...</code> commands for advanced execution of main/context menu commands.


[[Category: foobar2000]]
[[Category:foobar2000 Guides|Commandline Guide]]

Latest revision as of 19:39, 10 June 2022

Foobar2000_Logo.png

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 file

Clarifications

/add
Changes the default behaviour of "opening" (replace active playlist and start playback) files and directories found on the command line.
/immediate
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 Run Commands (foo_runcmd) component if you need more functionality.)

Extensions

Known components which provide additional command line functionality: