Question: Below comparison is giving false result in PowerShell , Want it to be true. ` operator is causing it to be false whereas for any other special character it is returning true.

```
> 'abc`@01' -like 'abc`@01'
False

```

Answer: 
`-like` is a wildcard comparison operator and ``` is a wildcard escape sequence.

```
PS ~> 'abc`@01' -like 'abc``@01'
True

```

Use `-eq` if you want an exact string comparison without having to worry about escaping the reference string:

```
PS ~> 'abc`@01' -eq 'abc`@01'
True

```
To *add to* [Mathias R. Jessen's helpful answer](https://stackoverflow.com/a/69725831/45375):

On occasion you may be dealing with strings that should become *part* of a [wildcard expression](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_Wildcards), but *themselves* should be treated *literally*, which requires *escaping* the wildcard metacharacters, `* ? [ ] ``, with ```.

**[`[WildcardPattern]::Escape()`](https://learn.microsoft.com/en-US/dotnet/api/System.Management.Automation.WildcardPattern.Escape)** allows you to perform this escaping *programmatically* (which is especially helpful if the string was passed from the outside), as shown in the following example:

```
# The value to use *literally* as part of a wildcard expression below.
$literalValue = '[1]'

# Escape it for use in the wildcard expression.
# -> '`[1`]'
$escapedValue = [WildcardPattern]::Escape($literalValue)

'file[1]' -like ('*' + $escapedValue) # -> $true

```

Regrettably, as of PowerShell Core 7.2.0-rc.1, there is a **bug**: ``` itself, even thought it should be escaped as ````, is *not* escaped, which Mathias has reported in [GitHub issue #16306](https://github.com/PowerShell/PowerShell/issues/16306).

In other words: with the specific wildcard pattern in your question, this technique wouldn't work.