はじめに、fxcopy についてこちらの環境では正しく動作しない為、fxcopy を利用しない形での回答ですのでご了承を。
エラー 12 は、フォルダおよびファイルが存在しない場合と、存在していてもアクセス権によりアクセス拒否された場合に発生します。
スクリプトから考えるとエラー 12 を発生させてる原因は、delete だと思いますが、HSP がファイルに対して書き込みアクセス権限が必要となります。
fxdir の取得フォルダが規定の C:\Users\UserName\AppData\Local\Temp であれば、エラー12 は発生しません。
もし、C:\Windows\Temp だった場合、delete でエラーが発生するのは仕様です。
また、稀な原因ですが、ZIP を作成した際にウィルス対策ソフトが読み取りに行っている場合で、delete を行うとエラーが発生します。これもエラー 12 となります。
(圧縮ファイルの内容も検査するなどの設定の場合)
HSPのエラーですが、スクリプトエディタ上で実行する場合、原因となっている行番号が表示されるのでその行番号で原因を調べてみてください。
[おにたまさん用]
fxcopy : メモリアクセスエラー (0x00000005 : ACCESS DENIED Memory Read Access)
dirtemp=""
fxdir dirtemp, -2
date0=gettime(0)
date1=gettime(1)
date2=gettime(3)
fname = dirtemp+"Ver.0.1-Date."+date0+date1+date2+".zip"
s1 = dir_exe+"\\*.*"
ZipCompress s1, fname
if stat : dialog "zip圧縮に失敗しました"
mes "圧縮元パス:"+s1
mes fname+"を保存しました。"
copyback=dir_exe+"\\backup\\"
mes dirtemp+"Ver.0.1-Date."+date0+date1+date2+".zip"
mes fname+"\n"+copyback
//tempフォルダに存在するか調べる
exist fname
if stat != -1 {
//tempフォルダに存在する、zip のファイル内容の読み込み
filesize = strsize
sdim MemoryTemp,filesize
bload fname,MemoryTemp,filesize
//コピー先のファイルが存在するか調べる
exist copyback+"Ver.0.1-Date."+date0+date1+date2+".zip"
if strsize != -1 {
//存在する場合のみ、ファイル抹消
delete copyback+"Ver.0.1-Date."+date0+date1+date2+".zip"
}
//メモリの内容を出力
bsave copyback+"Ver.0.1-Date."+date0+date1+date2+".zip",MemoryTemp,filesize
}
// fxcopy fname,copyback
// if stat : dialog "コピー目標のファイルがTempフォルダーから\n見つかりませんでした。"
delete dirtemp+"Ver.0.1-Date."+date0+date1+date2+".zip"
stop
fxcopy・bload/bsave にかかわらず、backup フォルダのバックアップになる為、何度か試すとzip が肥大化していくので注意です。
[2020/10/14 15:14分 : 内容編集済み]