In the provided example, the core thing to bound this field to account is naming of .xml file.
It will be Account.object-meta.xml. Therefore, the fields in xml with such name will be added to Account.
It is also very important to deploy your archived xml files with proper names, so the organization understands what you want from it.
It's not that your org needs to be "upgraded", it's most likely your Ant salesforce-ant.jar file is outdated. Salesforce always runs on the latest version and is updated automatically during the release window. Try downloading the newest version, or consider installing the new Salesforce DX CLI instead.
Lightning Components' Apex controllers do not receive an API-enabled session:
By security policy, sessions created by Lightning components aren’t enabled for API access. This prevents even your Apex code from making API calls to Salesforce. Using a named credential for specific API calls allows you to carefully and selectively bypass this security ...
$ is a reserved character in some terminals, so I had to escape $ like this --folder="unfiled\$public"
Here is the complete command that is working:
~sfdx force:mdapi:listmetadata --metadatatype=EmailTemplate --targetusername=mysandbox --folder=unfiled\$public
NOTE: I ran into this issue on macOS.
Here is the bash script I created to prepare pacakge.xml ...
I've seen reports that the Salesforce engineering team are onto this.
If you are raising a support case it can reference the internal W-6597330 bug number.
Related: The metadata retrieve operation failed: INVALID_TYPE: sObject when adding custom metadata to manifest
Welcome to SSE!
Have you Enabled Analytics Features ?
Go to Salesforce Setup and enter Analytics in the Quick Find /
Select Getting Started.
Click Enable Analytics.