your string looks a bit incorrect... it shouldn't have all the spaces in it...
if you want to use a specific letter... you don't use ? at all... So, I'm not sure exactly what you are trying to use as your mask... but pretty much none of your ?'s make any sense...

So, that command as it is written isn't going to work.
Tell me, is it possible to ask one character to perform a search and include the others that were found to check each of them in turn? Give me the right command to do this.
You've spent the Bitcoin Cash without moving the real Bitcoin on
October 30, 2017. Any chance you still have the private key imported into a BCH wallet you have forgotten about?
20% - 30 bitcoins is a lot of money to just give away.
You might be able to negotiate on that amount

I had no business with Bitcoin cache, maybe they sent it from my wallet, as if I did not know, I need to look at the hard drive.
Usually the command line scripts run under one core on the CPU, I think we could use crunch to generate the passwords by range and use the GNU parallel tool to find it faster.
I haven't tried yet, but i will make some experiments and share the results. This should make faster the HCP way.
I want to insert my password from a text file and try one character at a time for an error, this may work.
I didn't know why this conversation was about cracking the wallet through hashcat when the OP still has the wallet.dat file which still contains the wallet in the subject private key, i think it better to work on getting the private key and import in the wallet of your choice. Besides, this thread
one and
two will be helpful for you.
Meanwhile, I hope the OP is not among those that buy wallet.dat with balance and lost password online.
This is my wallet, there are a couple of days left until synchronization, and I will shoot the video, as well as the hash problems that I have. I am very close, I feel it.