« システムエラーコードからメッセージテキストを取り出す。 | トップページ | テキストファイルを数値順にソートするバッチファイル »

2007年4月29日 (日)

テキストファイルを文字順/数値順にソートするバッチファイル

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]);

« システムエラーコードからメッセージテキストを取り出す。 | トップページ | テキストファイルを数値順にソートするバッチファイル »