Altering multiple tablespaces at once in Oracle
The syntax for the alter tablespace statement only supports one tablespace at a time, you can't list more than one as you're trying to.

If you're scripting that command already, simply have your script issue multiple alter tablespace statements rather than one.

If you're generating your list of tablespaces from dba_tablespaces, you can dynamically alter the tablespaces from that with something like:

begin
  for tbs in (select tablespace_name from dba_tablespaces where [your conditions])
  loop
    execute immediate 'alter tablespace '||tbs.tablespace_name||' read only';
  end loop;
end;
/