You can use biblatex source remapping features. The code checks whether the doi field is non-null and if it is it clears the isbn field so that it is not printed.
\documentclass{article}
\usepackage[backend=biber]{biblatex}
\addbibresource{t.bib}
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map{
\step[fieldsource=doi,final]
\step[fieldset=isbn,null]
}
}
}
\begin{document}
\cite{test1,test2,test3}
\printbibliography
\end{document}
with t.bib
@Book{test1,
author = {Author, First},
title = {Title One},
publisher = {Publisher},
year = 2000,
doi = {doi:field},
note = {doi only}
}
@Book{test2,
author = {Author, Gareth},
title = {Title Two},
publisher = {Publisher},
year = 2005,
isbn = {isbn number},
note = {isbn only}
}
@Book{test3,
author = {Author, Last},
title = {Title Three},
publisher = {Publisher},
year = 2007,
isbn = {isbn number},
doi = {doi:field},
note = {isbn and doi}
}
gives

.bstfile to do this. It is most certainly possible,cf. http://tex.stackexchange.com/q/137345/15925, but depends on the rest of that file. Post a new question if you can't make it work. I would in fact be tempted to use something likebibtoolto preprocess thebibfile instead. – Andrew Swann Jun 05 '15 at 08:44