日々の記録

ほどよく書いてきます。

JavaScriptを使った文字列連結を使ってファイル名一覧、コマンド一覧などを作成する。

2017年01月09日 19時27分58秒 | プログラム

仕事で網羅的な観察データを作成するとき、ある程度規則的なファイル名になることがある。
そのファイル名を一覧表にするのにファイル名から一覧表を作ればいいのだが、時折サンプルがなかったりと欠落がある場合がある。
そんな時のために網羅的なデータの一覧を作成しておいて、表を作っておくと便利じゃないかと思って作ってみた。

左から順番に文字列を網羅的に連結していくだけ。毎回プログラムっていうのも面倒臭いので、こうしたものがあると多少は便利になるかなと。

文字列を連結するだけなので、フォルダ作成のコマンドを大量に作るという用途にも使えるのでは無いだろうか。

 

連結したい文字列を増やす場合はhtmlソースの<textarea name="List" cols="15" rows="10">List[n]</textarea>を増やせばよい。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>文字列結合</title>
<script type="text/javascript">
    function MakeNameList(){
    var StartTime = new Date();
    var NameListArray = new Array();
    var textOut = document.form.FileNameOutput;

    //配列の格納、末尾の改行はreplaceで削除しておく。
    for(i=0;i<document.form.List.length;i++){
        NameListArray[i] = document.form.List[i].value.replace(/\n+$/g,"").split("\n");
    }

    var TempText = "";
    var tempArray = new Array();

    //配列に構造があるが、データは無い、とするため、""のブランクを入れておく。    
    tempArray[0]="";
    for(var k=0, lenk = NameListArray.length;k<lenk;k++){
        TempText = "";
        for(var i=0, leni = tempArray.length;i<leni;i++){
            var lenj = NameListArray[k].length;
            for(var j=0, lenj=NameListArray[k].length;j<lenj;j++){
                TempText += tempArray[i] + NameListArray[k][j] + "\n";
            }
        }
        tempArray = TempText.replace(/\n+$/g,"").split("\n");
    }
    textOut.value = TempText;
    TempText = "";

    var StopTime = new Date();
    var dT = StopTime - StartTime;
    document.form.Note.value = tempArray.length + "データ\n" + "処理時間" + dT + "[ms]"; 
}
</script>
</head>

<body>
<form name="form" action="post">
<textarea name="List" cols="15" rows="10">List1</textarea>
<textarea name="List" cols="15" rows="10">List2</textarea>
<textarea name="List" cols="15" rows="10">List3</textarea>
<textarea name="List" cols="15" rows="10">List4</textarea>
<textarea name="List" cols="15" rows="10">List5</textarea>
<textarea name="List" cols="15" rows="10">List6</textarea>
<textarea name="List" cols="15" rows="10">List7</textarea>
<br>
<textarea name="FileNameOutput" cols="125" rows="10">output</textarea><br>
<textarea name="Note" cols="50" rows="2">ログ</textarea><br>
<input type="button" value="Generate" onclick="MakeNameList()"><br>
</form>
</body>

</html>
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする