バッチファイルで
・テキストファイルをソートして、重複行を削除
できます!
バッチファイルから
・Power Shellのコマンドレットを実行
することで実現します!
コード
ここでは例として
・デスクトップ配下のテキストファイル「sample.txt」をソートして、重複行を削除
します。
@echo off
rem 対象ファイル
set targetFile=C:\Users\user\Desktop\sample.txt
rem PowerShellのコマンドレットを組み立て(昇順でソートかつ重複行を削除)
set psCommand="(Get-Content %targetFile%) | Sort-Object -Unique | Out-File -Encoding default %targetFile%"
rem PowerShellのコマンドレットを組み立て(降順でソートかつ重複行を削除)
rem set psCommand="(Get-Content %targetFile%) | Sort-Object -Descending -Unique | Out-File -Encoding default %targetFile%"
rem PowerShellのコマンドレットを実行
powershell -NoProfile -ExecutionPolicy Unrestricted %psCommand%
rem 実行結果を確認
if %errorlevel% == 0 (
echo 正常終了しました。戻り値:%errorlevel%
) else (
echo 異常終了しました。戻り値:%errorlevel%
)
echo.
pause
exit
実行結果
テキストファイルをソートして、重複行を削除できました。
参考①
上記のコードは以下の記事を参考にして作成しました。
参考②
上記で使用した以下の詳細は、公式サイトをご確認ください。
●「Get-Content」コマンドレット
●「Sort-Object」コマンドレット
●「Out-File」コマンドレット