ファイルまたはディレクトリを移動(U)          <TOP>


MoveFileEx 既存のファイルまたはディレクトリを移動

 

 

'================================================================
'= ファイルまたはディレクトリを移動(U)
'=    (MoveFileEx.bas)
'================================================================
#include "Windows.bi"

' 既存のファイルまたはディレクトリを移動
Declare Function Api_MoveFileEx& Lib "kernel32" Alias "MoveFileExA" (ByVal lpExistingFileName$, ByVal lpNewFileName$, ByVal dwFlags&)

#define MOVEFILE_REPLACE_EXISTING &H1   '上書き可能にする
#define MOVEFILE_COPY_ALLOWED &H2       '異なるボリューム間での移動を、ファイルの複製と削除を行うことによって可能にする
#define MOVEFILE_DELAY_UNTIL_REBOOT &H4 'システムの次回起動時に移動を実行する
#define MOVEFILE_WRITE_THROUGH &H8      '移動が完全に終了するまで、MoveFileEx関数は終了しない
 
Var Shared Edit1 As Object : Edit1.Attach GetDlgItem("Edit1") : Edit1.SetFontSize 14
Var Shared Edit2 As Object : Edit2.Attach GetDlgItem("Edit2") : Edit2.SetFontSize 14
Var Shared Text1 As Object : Text1.Attach GetDlgItem("Text1") : Text1.SetFontSize 14
Var Shared Text2 As Object : Text2.Attach GetDlgItem("Text2") : Text2.SetFontSize 14
Var Shared Button1 As Object : Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14

'================================================================
'=
'================================================================
Declare Sub Mainform_Start edecl ()
Sub Mainform_Start()
    Edit1.SetWindowtext "c:\temp\oldfile.txt"
    Edit2.SetWindowText "d:\temp\newfile.txt"
End Sub

'================================================================
'=
'================================================================
Declare Sub Button1_on edecl ()
Sub Button1_on()
    Var ExistingFile As String
    Var NewFile As String
    Var Ret As Long

    ExistingFile = Edit1.GetWindowText
    NewFile = Edit2.GetWindowText

    If ExistingFile = "" Or NewFile = "" Then Exit Sub

    Ret = Api_MoveFileEx(ExistingFile, NewFile, MOVEFILE_COPY_ALLOWED Or MOVEFILE_REPLACE_EXISTING)
End Sub

'================================================================
'=
'================================================================
While 1
    WaitEvent
Wend
Stop
End