Gitlab Runner in Windows Batch loses the bang "!"


I’ve come across a probilem when using GitLab Runner with a Windows agent and set to run the Windows Batch shell. When the batch to be executed contains the following:

echo "hello!"
echo "hello^!"

Then the output would be:


In other words, the execution seems to filter out the “!” character unless escaped with the hat “^” sign.
I am not sure what the difference between running the same script from the cmd manually (where the “!” character is printed without needing to be escaped) and through the GitLab CI runner (where it needs to be escaped or it disappears), but looks like the escaping works.