PowerShell! Algo como isso deve fazer o que você quer fazer. Os primeiros 7 caracteres serão retirados do nome do arquivo e renomeados (7 caracteres é 4 dígitos + 1 espaço + 1 hífen + 1 espaço)
Isso depende de você ter um padrão definido de "0000 -" antes do nome do arquivo e não funcionará bem se resultar em nomes de arquivo duplicados, mas é um bom ponto de partida.
Get-ChildItem -LiteralPath "D:\bigfolderofstuff\" | ForEach {
Rename-Item -LiteralPath $_.FullName -NewName ($_.Name).Substring(7)
}