// 指定したディレクトリの、指定した条件にマッチしたファイル名の、拡張子部分だけを // 別の拡張子に書き換えます。 // ファイル形式を変換(コンバート)するのでなく、あくまでリネームするだけです。 // セパレータの"//"は" // "としても同じです。 // 拡張子は大文字小文字を区別しませんが、リネーム後の拡張子に全角文字を指定しないようご注意ください。 // 例1) D:\DICM\etc // D*.JPG // jpg // -> D:\DICM\etc以下の、Dで始まるファイル名かつ拡張子がJPGのファイルをjpgに変換 // ワイルドカードはアスタリスクのほか、"?"(任意の1文字)が使えます // 例2) "C:\Documents and Settings\"//*.0//svg // -> ユーザープロファイルフォルダ以下の拡張子*.0のファイルを全てsvgにリネーム // ※ "%USERPROFILE%"のような変数指定は出来ません // ※ サブディレクトリも含めて検索されるのでご注意ください。 public cu_dir,f_type,r_type,msg //OPTION DEFAULTFONT="Osaka−等幅" TMPDIR="C:\Temp" While True wks=input("対象ファイルのディレクトリパス//変換元のファイル名//変換後の拡張子を入力してください       <#cr>"+_ "<#cr>e.g) D:\hoge//*.uws//txt -> リネーム後 filename.txt"+_ "<#cr>e.g) D:\hoge//*.uws.txt//uws -> リネーム後 filename.uws<#cr>"+_ "<#cr>(!)サブディレクトリを含めて、全ての指定した拡張子がリネームされます") if wks=EMPTY then Exit cu_dir=Copy(wks,1,val(pos("//",wks,1))-1) if pos(" ",cu_dir,-1)=length(cu_dir) then cu_dir=Copy(cu_dir,1,val(length(cu_dir))-1) f_type=Copy(wks,val(pos("//",wks,1))+2,val(pos("//",wks,2))-(val(pos("//",wks,1))+2)) if pos(" ",f_type)>=1 then f_type=Chgmoj(f_type," ","") r_type=Copy(wks,val(pos("//",wks,2))+2,(val(length(wks))+1)-(val(pos("//",wks,2))+2)) if pos(" ",r_type)>=1 then r_type=Chgmoj(r_type," ","") ifb find() ifb MsgBox(msg,BTN_ABORT or BTN_RETRY,G_MOUSE_X-180,G_MOUSE_Y-90,BTN_RETRY)=BTN_RETRY Continue else Exit endif else break endif Sleep(0.2) Wend f_list=TMPDIR+"\f_list.txt" SendStr(0,"cd /d "+cu_dir+"<#cr>dir /s /b "+f_type+" >"+f_list+"<#cr>") prompt=exec("cmd") Sleep(0.2) Sckey(prompt,Vk_Alt,Vk_Space,E,P) Kbd(Vk_Alt,2) Sleep(0.2) openlist=Fopen(f_list,F_read) bs="\" lines=1 for i=0 to Fget(openlist,F_linecount)-1 f_path=Fget(openlist,lines) f_name=Copy(f_path,val(pos(bs,f_path,-1))+1,val(pos(".",f_path,-1))-val(pos(bs,f_path,-1))) Doscmd("ren "+f_path+" "+f_name+r_type) lines=lines+1 next Fclose(openlist) CtrlWin(prompt,Close) MsgBox("done") Doscmd("del "+f_list) function find() result=false ifb Fopen(cu_dir+"\",F_Exists)=0 msg="指定したディレクトリが見つかりません。" result=true elseif Getdir(cu_dir,f_type)=0 msg="指定した拡張子のファイルが見つかりません。" result=true endif fend