プログラミングメモ →目次

ァイルのコピー、移動、削除、リネーム

1.ファイルのコピー(API)

BOOL CopyFile(LPCTSTR lpExistingFileName, LPCTSTR lpNewFileName, BOOL bFailIfExists);

bFailIfExistsで、目標ファイル存在する場合の対処方法を示します。
BOOL bRet = CopyFile(_T("d:\\softist1.txt"), _T("d:\\softist2.txt"), FALSE);

2.ファイルの移動

BOOL MoveFile( LPCTSTR lpExistingFileName, LPCTSTR lpNewFileName );

一つのファイル、フォルダを移動できます。例、

MoveFile(_T("d:\\softist.txt"), _T("d:\\softist2.txt"));

dwFlags つきの移動。ファイル或いは、フォルダ。

BOOL MoveFileEx( LPCTSTR lpExistingFileName, LPCTSTR lpNewFileName, DWORD dwFlags );

dwFlagsの意味: 
MOVEFILE_REPLACE_EXISTING 目標ファイルが存在しても、移動する 。
MOVEFILE_DELAY_UNTIL_REBOOT 即座に移動しなく、次回システム起動時に、移動する 。

3.ファイルの削除

API

BOOL DeleteFile( LPCTSTR lpFileName );

MFC:

static void PASCAL CFile::Remove(LPCTSTR lpszFileName);

4.ファイルのリネーム

MFC:

TCHAR* pOldName = _T("Oldname_File.dat");
TCHAR* pNewName = _T("Renamed_File.dat");
try
{
    CFile::Rename(pOldName, pNewName);
}
catch(CFileException* pEx )
{
    TRACE(_T("File %20s not found, cause = %d\n"), pOldName, 
    pEx->m_cause);
    pEx->Delete();
}