テキストファイルを文字順/数値順にソートするバッチファイル
WindowsのSORTコマンドは文字順のソートしか出来ません。
そこで、JScriptのArrayオブジェクトを利用して、数値順にソートします。
フィルタです。
数値順ソート.CMD <入力 >出力
@if(0)==(0) ECHO OFF
CScript.exe //NoLogo //E:JScript "%~f0"
GOTO :EOF
@end
var Lines=new Array();
while(!WScript.StdIn.AtEndOfStream) Lines.push(WScript.StdIn.ReadLine());
Lines.sort(function(a,b){return parseInt(a,10)-parseInt(b,10);});
for(var i in Lines) WScript.StdOut.WriteLine(Lines[i]);
文字順ソート.CMD <入力 >出力
@if(0)==(0) ECHO OFF
CScript.exe //NoLogo //E:JScript "%~f0"
GOTO :EOF
@end
var Lines=new Array();
while(!WScript.StdIn.AtEndOfStream) Lines.push(WScript.StdIn.ReadLine());
for(var i in Lines.sort()) WScript.StdOut.WriteLine(Lines[i]);
« システムエラーコードからメッセージテキストを取り出す。 | トップページ | テキストファイルを数値順にソートするバッチファイル »