Provided "should" and "had better" are near synonyms (stronger advice in "had better" than in "should" or in more formal "ought to"), I know I can say
You shouldn't have done this!
But how about
You had better not have done this!
?
English Language & Usage Stack Exchange is a question and answer site for linguists, etymologists, and serious English language enthusiasts. It only takes a minute to sign up.
Sign up to join this communityProvided "should" and "had better" are near synonyms (stronger advice in "had better" than in "should" or in more formal "ought to"), I know I can say
You shouldn't have done this!
But how about
You had better not have done this!
?
as Peter Shor points out, you can say either of them, but they mean completely different things. So you cannot say the latter to mean the former. Specifically:
The speaker knows that the other person has done "this", but wishes the other person hadn't done "this", or knows a reason why it was a bad idea to do so.
This almost shouts, even without a "!" The speaker is not sure whether the other person did or did not do "this", but is making quite clear that IF that person did do "this", he/she is going to be in a heap of trouble. Blame will be affixed; consequences will ensue.
The verbs should and had better are not exact synonyms. While should carries the sense that you are obliged to do something, had better carries the sense that if you don't do it, bad things will happen. These situations overlap a lot of the time, but not always.
So you can say
You should pay the mortgage.
You should write thank-you notes for your presents.
And you can say (because the bank will charge late payment fees, and might even foreclose on your house)
You had better pay the mortgage.
But if you say
You had better write thank-you notes for your presents,
you sound like a parent implicitly threatening to punish your children if they don't.
In the negative perfect, shouldn't carries the sense that it did happen, while had better not doesn't. So
You shouldn't have dented my car.
means that you dented my car, and you were not supposed to (and while it's quite possible that I'm upset with you about it, that's not actually implied). While
You had better not have dented my car.
means that I don't know whether or not you dented my car, but I am going to be very upset with you if you did.
They are not exact synonyms, only near synonyms! In the present time, the shade added to "should do something" by "had better do something" is threat.
Quite obviously, you cannot now try to influence someone's decision – threaten them – about a past situation which involved a choice of theirs, a decision no longer in the making.
We must – perforce – as far as threats are concerned, "let bygones be bygones!"