Unhappily we don't have a Windows Server to test the command line argument passing. I expected that the behavior would be the same as Windows 7, 8 and 10 where it works well:
F:\litesync\sqlite3.15\shell\win32\Release>sqlite3 "file:members.db?node=primary&bind=tcp://0.0.0.0:4400"
SQLite version 3.15.2 2016-11-28 19:13:37
Enter ".help" for usage hints.
sqlite> pragma sync_status;
{
"use_litesync": true,
"node_type": "primary",
"node_id": 1,
"db_is_ready": true,
"sync_down_state": "unknown",
"sync_up_state": "unknown",
"log_storage": "keep",
"peers": []
}
sqlite> .q
F:\litesync\sqlite3.15\shell\win32\Release>
In this case you can escape the ? and & characters.