Batch to sort a file with removing duplicates line?
Abaixo, há uma solução nativa do Windows para script em lote, assim como você solicitou que concluirá essa tarefa; basta definir suas variáveis de arquivo de entrada e saída de acordo.
Nota de bônus: Se você alterar o SET InputFile=%~1
dessa forma, poderá arrastar o arquivo para o script em lote salvo e ele concluirá a tarefa usando o simples arrastar e soltar método de queda.
Script em lote
@ECHO ON
SET InputFile=C:\folder\path\Input.txt
::SET InputFile=%~1
SET OutputFile=C:\folder\path\Output.txt
SET PSScript=%Temp%\~tmpRemoveDupe.ps1
IF EXIST "%PSScript%" DEL /Q /F "%PSScript%"
ECHO Get-Content "%InputFile%" ^| Sort-Object ^| Get-Unique ^> "%OutputFile%">>"%PSScript%"
SET PowerShellDir=C:\Windows\System32\WindowsPowerShell\v1.0
CD /D "%PowerShellDir%"
Powershell -ExecutionPolicy Bypass -Command "& '%PSScript%'"
GOTO EOF