;delfol.as ver1.0 ;hsp3.2 で作製 ; delfol 命令 ; 書式 ; delfol "フォルダ名" ; 解説 ;フォルダ名で指定したフォルダを削除します。 ;フォルダ内のファイルもファイル属性に関わらず削除されます。 ;処理の結果はシステム変数 stat に返されます。 ; 0 ならば正常終了、 ; -1 ならばエラー ;です。 ;注: 動作には hspext.dll が必要です。 #module #uselib "hspext.dll" #func set_file fxaset 6 #func get_file fxaget 5 #uselib "KERNEL32.dll" #func remove "RemoveDirectoryA" str onerror *exit #deffunc delfol str dir sdim list,1000,2:sdim temp,512,3:temp.1=dir_cur chdir dir if stat=-1:goto *exit ; dirlist list,"*.*",1 :ディレクトリ以外のファイルリスト ; dirlist list,"*.*",5 ;ディレクトリのリスト作成 *set dirlist list,"*.*",5 if stat!0:goto *openfolder ;del dirlist list,"*.*",1 notesel list:if notemax=0:goto *skip repeat notemax,0 wait 3 noteget temp,cnt get_file info,temp info=info\10\2 if info=1:set_file temp,80 delete temp loop *skip chdir ".." if stat=-1:goto *exit if dir_cur=temp.1:remove dir:else:remove temp.2:goto *set return 0 *openfolder notesel list noteget temp,0:temp.2=temp chdir temp goto *set *exit return -1 #global