ファイルのコピーはhsp標準のbcopy命令で実行出来ますが、
エラーが発生するとダイアログが出たりプログラムが止まってしまうため、
Win32apiを使用してファイルをコピーする方法を紹介します。
hsp 3.3

スポンサーリンク

Win32APIを使ってファイルをコピー

//hsp3でファイルをコピーする 2009 eax
#uselib "kernel32.dll"
#cfunc GetLastError "GetLastError"
#cfunc CopyFile "CopyFileA" sptr,sptr,int

file1 = "元のファイル"
file2 = "コピー先のファイル"

ret = CopyFile(varptr(file1),varptr(file2),0)
if ret=0{
errcode = GetLastError()
dialog "失敗 コード:"+errcode+""
}
end

その他

成功すると何も表示されず終了します。
また、コピー先ファイルが存在した場合上書きされます。
失敗するとダイアログが表示されます。
コードはGetLastError関数の物を使用しています。
GetLastError関数の戻り値の詳細はこちらを、
参照して下さい。

またCopyFile関数の最後に指定した0を1にすると、
コピー先ファイルが存在した場合にファイルのコピーを
行わずCopyFile関数は失敗に終わります。