HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2013
0814
山田太郎ファイル名の数字の小さい順に5解決


山田太郎

リンク

2013/8/14(Wed) 10:01:40|NO.56362

いつも大変お世話になっております

フォルダ内にある、連番ファイルを数字の小さい順にFTPでUP、CSVに書き込みしたいのですが
バラバラになってしまいます。

A_00.jpg
A_01.jpg
A_02.jpg
のように数字の小さい順に取り出したいのです。
※ファイルは10〜20個程度です。

どのようにしたら良いのでしょうか?



この記事に返信する


(’’

リンク

2013/8/14(Wed) 10:45:41|NO.56364

ファイル名を配列に保存して、sortstrでいけるはずです



山田太郎

リンク

2013/8/14(Wed) 14:36:56|NO.56369

ありがとうございます
具体的にはどのように書けばよいのでしょうか?

フォルダには
A_00.jpg
A_01.jpg
A_02.jpg
A_03.jpg
A_04.jpg
の5つのファイルがあるとします

FILEMEI.CSVに書き込む順番も
 A_00.jpg,A_01.jpg,A_02.jpg,A_03.jpg,A_04.jpg
と書き込みたいのですが

よろしくお願いします



osakana

リンク

2013/8/14(Wed) 17:12:50|NO.56377

sortstrと同じくhspdaプラグインの命令でsortnoteと言うのもあります
これは文字列を行単位で並び替えます。
他にはdirlistで順にならんだ状態でファイル一覧を取得できます

>バラバラになってしまいます。
現在どの様に作っているかを見せた方が目的の回答が得られやすいですよ。

>A_00.jpg,A_01.jpg,A_02.jpg,A_03.jpg,A_04.jpg
>と書き込みたいのですが
上の様に改行区切りなら単純に
strrepで改行をカンマに置換するのが早そうですね。



山田太郎

リンク

2013/8/23(Fri) 11:28:39|NO.56603

皆さんどうもありがとうございます
とりあえず、その部分を抜き出してみました

見難いかと思いますが、アドバイスお願いします。

今のままだと、拡張子がAAA_01.JPGから始まって最後にAAA_00.JPGとゼロが最後になってしまうんです。

やりたいことはゼロから始まってほしいのです。
AAA_00.JPG,AAA_01_JPG.....みたいに



//-----▼ファイル名をリネームするため一旦ダブらない名前に変換 notesel list//JPEGファイルを一旦格納 //mes "4-> JPEGファイル一覧" //mes list //格納したファイルを表示 B=B+1//乱数の代わり これ重要 //mes B I=0//カウント設定ゼロ repeat s//ファイルの数だけリピート開始 noteget get1,cnt//格納したファイル名を取り出す NAMESET=""+B+"1000"+strf("%02d",I)+".JPG"//ファイル名作成 rename get1,NAMESET//リネーム後のファイル名 //mes "5 -> "+get1 //mes NAMESET I=I+1 loop //mes "書き換え終了" //-----▲ //-----▼ファイル名変換 本番 I=0//カウント設定ゼロ dirlist list,"*.JPG"//ファイル名が変わったので再度フォルダー読み込み notesel list//JPEGファイルを一旦格納 repeat s//ファイルの数だけリピート開始 //mes "書き換え開始" noteget get1,cnt//格納したファイル名を取得 //rename get1,FOLDER+"-"+I+".JPG"//リネーム後のファイル名 //mes "get1 -> "+get1 NAMESET=""+FOLDER+"_"+strf("%02d",I)+".JPG"//ファイル名作成 rename get1,NAMESET//リネーム後のファイル名 mes "リネーム:"+get1+"=>"+NAMESET I=I+1 loop mes "書き換え終了" //-----▲ //-----▼ dirlist list,"*.JPG":s=stat//JPEGファイルだけを数えて s に代入 mes "3-> JPGファイル数: "+s+" 個あります" //-----▲ //-----▼ I=s//に代入 //-----▲ //-----▼ファイル名をリネームするため一旦ダブらない名前に変換 notesel list//JPEGファイルを一旦格納 mes list //格納したファイルを表示 if I>12 { I=12 } //もしファイル数が12個以上だったら12個までしかCVSに書かないようにする mes "I= "+I repeat I//ファイルの数だけリピート開始 noteget get1,cnt//格納したファイル名を取り出す FILELIST=FILELIST+","+FOLDER+"/"+get1//ファイル名作成 フォルダ名付き loop



山田太郎

リンク

2013/8/24(Sat) 16:54:24|NO.56630

ありがとうございました
sortnoteで解決しました!
助かりました。



ONION software Copyright 1997-2023(c) All rights reserved.