Why does PowerShell say mp4fix is not recognized?

If you type the MP4Fix file name in PowerShell without a prefix, PowerShell responds with a message like this:

mp4fix-windows-x64.exe : The term 'mp4fix-windows-x64.exe' is not recognized
as the name of a cmdlet, function, script file, or operable program.

Why This Happens

PowerShell does not run programs from the current folder unless the name starts with .\. This is standard PowerShell behavior for all programs, not something specific to MP4Fix.

Solution

  1. Go to the folder that contains the MP4Fix file:

cd C:\Tools
  1. Run it with the .\ prefix:

.\mp4fix-windows-x64.exe check "D:\Videos"

Tip: Add MP4Fix to PATH for the Current Session

To avoid typing the .\ prefix and the folder path every time, add the folder to your PowerShell session:

$env:PATH = "C:\Tools;$env:PATH"
mp4fix-windows-x64.exe check "D:\Videos"

Note

This lasts only for the current PowerShell window. When you open a new window, run the $env:PATH line again, or simply use the .\ prefix.