| 以下の一括をpc起動後に実行した場合と2回目で起動した場合 スピードが変わるのは何故でしょうか? コメントアウトにしないと早すぎて検証できないと思います。
表 変数削除 共通 変数削除 * if (#配列要素数("InchToDot")=-1) var 共通,数値{&desksize[2]},共通,Int{&InchToDot} &InchToDot=#デスクトップサイズ("desksize")\ ,&InchToDot=#InchToDot(1) end call フォルダー検索("郵便.tbl",".tbl") 終了 桐 proc フォルダー検索(Str &S表の名前,Str &S拡張子) var Str{&Spassname=#一括パス名\ ,&S指定folder,&Soplist,&Sreadtbl\ ,&Slist=#一括パス名+"list.k3"\ ,&Sbatfile=#一括パス名+"list.bat"}\ ,Int{&Imain,&I終了,&Iend}\ ,Long{&L行=0,&L終了}\ ,Long{&LmojiA=#HEX32(#HEX(#J("A")))\ ,&LmojiZ=#HEX32(#HEX(#J("Z"))),&Lcount}\ ,Str{&Sdrive名,&Stmp},数値{&Ntmp} for &Lcount=&LmojiA,&LmojiZ,1 if (#代入(&Ntmp,#DISKSIZE(#代入(&Stmp\ ,#J(#HEX(#HEX32(&Lcount))))))>0) &Sdrive名=&Sdrive名+","+&Stmp end end ウィンドウ位置 最小化,-1 &S指定folder=#SSTR(&S指定folder,1\ ,#L(&S指定folder)-1) 印字開始 "mokumoku.k3", 終了状態=&Iend 印字 "###" 印字 "### WIN桐 00" 印字 "###" 印字 """ファイル名"",""文字列""" 印字 """folder名"",""文字列"",""M4895"",""""\ ,""#文字列反転(#SSTR(#文字列反転([ファイル名])\ ,#文字位置(#文字列反転([ファイル名]),""""\"""")))""" 印字 """文字数"",""整数""" 印字終了 改頁=しない 表作成 "sub.tbl",定義ファイル="mokumoku.k3"\ ,モード=専有,終了状態=&I終了 &Imain=#IS表 if (&I終了=1) /* 1コメントアウト */ &Sdrive名=#S(&Sdrive名,","+#sstr(#GETENV("WINDIR"),1,1),"") /* 2コメントイン */ &LmojiZ=#L(&Sdrive名)-#L(#S(&Sdrive名,",","")) &Sdrive名=#sstr(&Sdrive名,2) 繰り返し &Lcount=1,&LmojiZ,1 &S指定folder=#対応文字列(&Sdrive名,&Lcount)+":\" 印字開始 &Sbatfile, 終了状態=&Iend 印字 "Dir "+&S指定folder+"*"+&S拡張子\ +" /s /b > "+""""+&Slist+"""" 印字 "exit" 印字終了 改頁=しない システム &Sbatfile 読み込み K3,&Slist, 項目名=する, 終了状態=&Iend, * end 表 "sub.tbl" if (#総件数=0) ウィンドウ位置 復元,-1 確認 "探しているファイルはありません" else 絞り込み [ファイル名]_&S表の名前, 文字比較方法=拡張辞書順\ , 部分一致検索=含む if (#総件数=0) ウィンドウ位置 復元,-1 確認 "探しているファイル"+&S表の名前+"はありません" else if (#総件数=1) &Sreadtbl=[ファイル名] 終了 表 編集対象表 ウィンドウ位置 最大化,-1 表 &Sreadtbl ウィンドウ作成 表,オプション=最大化 表形式編集 else 絞り込み 単一化={[folder名]} 検索 [folder名]{#計算(#代入(&Soplist,&Soplist+\ """"+","+""""+[folder名]),"ιξτψ")}\ , 文字比較方法=自動, 部分一致検索=しない &Soplist=#SSTR(&Soplist,3)+"""" var Str{&Sヘッダ="同名ファイルあり",&S選択文字\ ,&Sフッタ =&S表の名前+":フォルダーは?"} Eval "var 文字列{&SV["+#str(#桁数(&Soplist)-#桁数(#s(&Soplist,",","") )+1)+"]={"+&Soplist+"}}" ウィンドウ位置 復元,-1 ウィンドウ位置 設定,-1,位置=(&desksize[1]-100,50),サイズ=(50,50) call メニュー選択(&Sヘッダ,&Sフッタ,0,0,&SV,&S選択文字,&L終了) if (&L終了<1) 終了 else 終了 表 編集対象表 ウィンドウ位置 最大化,-1 表 &S選択文字+&S表の名前 ウィンドウ作成 表,オプション=最大化 表形式編集 end end end end 表 ファイル削除 &Spassname+"mokumoku.k3" ファイル削除 &Spassname+"list.k3" ファイル削除 &Spassname+"list.bat" ファイル削除 &Spassname+"sub.bak" * ファイル削除 &Spassname+"sub.tbl" end
|