You can use our cxcalc command line tool to solve this problem. I give you an example, in which molecules are read from a SMILES file, and writes the acceptor multiplicity for each atom in the molecule into a string. I put this string as an SDF property (named ACCEPTOR) and write it to SDF output (acc.sdf):
cxcalc -S -t ACCEPTOR -o acc.sdf hbda -t acc nci700.smiles
You can also use the Chemical Terms evaluator function to calculate for lots of molecules, a whole JChem table for example:
evaluate -e "acceptor()" -S -t ACCEPTOR -o acc.sdf nci700.smiles
You can calculate the donor multiplicity in the same way. I hope this helps.