MoveFileEx

¿øÇü

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

MFC ¿øÇü

ÇØ´çÇÏ´Â ÇÔ¼ö ¾øÀ½

Àμö

¢ºlpExistingFileName : ¿Å±â°íÀÚ ÇÏ´Â ÆÄÀÏÀ̳ª µð·ºÅ丮ÀÇ À̸§

¢ºlpNewFileName : »õ ÆÄÀÏ, µð·ºÅ丮 À̸§. »õ·Î ¸¸µé¾îÁö¹Ç·Î ±âÁ¸¿¡ Á¸ÀçÇؼ­´Â ¾ÈµÈ´Ù. ÆÄÀÏÀº ´Ù¸¥ µå¶óÀ̺꿡 À־ »ó°ü¾øÁö¸¸ µð·ºÅ丮´Â ¹Ýµå½Ã °°Àº µå¶óÀ̺꿡 ÀÖ¾î¾ß ÇÑ´Ù.MOVEFILE_DELAY_UNTIL_REBOOT Ç÷¡±×°¡ ÁöÁ¤µÇ¾î ÀÖ°í ÀÌ Àμö°¡ NULLÀÌ¸é ´ÙÀ½ ºÎÆýÿ¡ ÆÄÀÏÀ» »èÁ¦ÇÑ´Ù.

¢ºdwFlags : ÆÄÀÏÀ» À̵¿½Ãų ¹æ¹ýÀ» ÁöÁ¤ÇÏ¸ç ´ÙÀ½ Ç÷¡±×ÀÇ Á¶ÇÕÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.

Ç÷¡±×

¼³¸í

MOVEFILE_COPY_ALLOWED

ÆÄÀÏÀÌ ´Ù¸¥ µå¶óÀ̺갣¿¡ À̵¿µÉ ¶§´Â CopyFile, DeleteFile ÇÔ¼ö È£ÃâÀ» ½Ã¹Ä·¹ÀÌÆ®Çϵµ·Ï ÇÑ´Ù.

MOVEFILE_CREATE_HARDLINK

¿¹¾à

MOVEFILE_DELAY_UNTIL_REBOOT

¿î¿µÃ¼Á¦¸¦ ÀçºÎÆÃÇÒ ¶§±îÁö À̵¿À» ÇÏÁö ¾Ê´Â´Ù. Áï ´ÙÀ½¹ø ¿î¿µÃ¼Á¦ ºÎÆýÿ¡ ÆÄÀÏÀ» À̵¿Çϵµ·Ï ÇÑ´Ù. ÀÌ Ç÷¡±×´Â DLLÀ̳ª ½ÇÇà ÆÄÀÏ µî °øÀ¯°¡ °É¸° ÆÄÀÏÀ» ±³Ã¼ÇÒ ¶§ ÁÖ·Î »ç¿ëµÈ´Ù. ÀÌ Ç÷¡±×¸¦ ¾²±â À§Çؼ­´Â °ü¸®ÀÚ °èÁ¤À¸·Î ·Î±äÇϰųª ·ÎÄà ½Ã½ºÅÛ °èÁ¤À̾î¾ß ÇÑ´Ù.

MOVEFILE_FAIL_IF_NOT_TRACKABLE

2000ÀÌ»ó. ¿øº» ÆÄÀÏÀÌ ¸µÅ© ¼Ò½ºÀÌ°í À̵¿ ÈÄ¿¡ À§Ä¡¸¦ ãÀ» ¼ö ¾øÀ» ¶§ ½ÇÆÐÇÑ´Ù. ÀÌ »óȲÀº ´ë»ó º¼·ýÀÌ FAT·Î Æ÷¸ËµÇ¾î ÀÖÀ» ¶§ ¹ß»ýÇÑ´Ù.

MOVEFILE_REPLACE_EXISTING

»õ ÆÄÀÏÀÌ ÀÌ¹Ì ÀÖÀ» °æ¿ì µ¤¾î ¾´´Ù. ÀÌ Ç÷¡±×´Â ÆÄÀÏ¿¡ ´ëÇؼ­¸¸ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç µð·ºÅ丮¿¡´Â Àû¿ëµÇÁö ¾Ê´Â´Ù.

MOVEFILE_WRITE_THROUGH

ÆÄÀÏÀÌ ½ÇÁ¦·Î ¿ÏÀüÈ÷ À̵¿µÇ±â Àü¿¡´Â ¸®ÅÏÇÏÁö ¾Ê´Â´Ù. ÆÄÀÏ À̵¿ ÈÄ À̵¿µÈ »õ ÆÄÀÏÀ» °ð¹Ù·Î »ç¿ëÇÏ°íÀÚ ÇÒ ¶§´Â ÀÌ Ç÷¡±×¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù.

 

¸®ÅÏ

¼º°øÇϸé 0ÀÌ ¾Æ´Ñ °ªÀ» ¸®ÅÏÇÏ¸ç ½ÇÆÐÇϸé 0À» ¸®ÅÏÇÑ´Ù.

¼³¸í

MoveFile°ú ¸¶Âù°¡Áö·Î ÆÄÀÏÀ̳ª µð·ºÅ丮¸¦ ´Ù¸¥ À§Ä¡·Î ¿Å±âµÇ ¼¼ºÎÀûÀÎ µ¿ÀÛ¿¡ ´ëÇØ ¸î°¡Áö Ç÷¡±×¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù´Â Á¡ÀÌ ´Ù¸£´Ù. ƯÈ÷ ÀçºÎÆÃÇÒ ¶§ ½ÇÁ¦·Î ÆÄÀÏÀ» ¿Å°Ü ÁÖ´Â ±â´ÉÀº ¼³Ä¡ ÇÁ·Î±×·¥ÀÌ ÀÌ¹Ì »ç¿ëÁßÀÎ DLLÀ» ±³Ã¼ÇÏ´Â ¿ëµµ·Î ÀÚÁÖ »ç¿ëµÈ´Ù. ÀÌ ÇÔ¼ö´Â ´ÙÀ½ ºÎÆýà À̵¿ÇÒ ÆÄÀÏÀ» ·¹Áö½ºÆ®¸®ÀÇ ´ÙÀ½ À§Ä¡¿¡ ±â·ÏÇØ ³õ´Â´Ù.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations

ÀÌ °ªÀº º¹¼ö°³ÀÇ ³Î Á¾·á ¹®ÀÚ¿­·Î ±¸¼ºµÇ´Â REG_MULTI_SZ ŸÀÔÀ¸·Î µÇ¾î ÀÖÀ¸¸ç À̵¿ ´ë»óÀÌ µÇ´Â ÆÄÀÏ ¸ñ·ÏÀ» °¡Áø´Ù. ÀçºÎÆÃÇÒ ¶§ AUTOCHK ÈÄ ÀÌ ·¹Áö½ºÆ®¸®¿¡ ±â·ÏµÈ ´ë·Î ÆÄÀÏÀ» À̵¿½ÃÅ°´Âµ¥ ÀÌ ¶§´Â ÆäÀÌ¡ ÆÄÀϵµ »ý¼ºµÇ±â ÀüÀ̹ǷΠÆäÀÌ¡ ÆÄÀϱîÁöµµ »èÁ¦ÇÒ ¼ö ÀÖ´Ù.

´Ü ÀçºÎÆà ½Ã ÆÄÀÏ À̵¿Àº NT/2000 À̻󿡼­¸¸ Áö¿øµÇ¸ç 95/98¿¡¼­´Â ÀÌ ±â´ÉÀ» »ç¿ëÇÒ ¼ö ¾ø´Ù. ´ë½Å WinInit.ini ÆÄÀÏ¿¡ À̵¿ÇÒ ÆÄÀÏÀ̳ª µð·ºÅ丮¸¦ Àû¾îÁÖ¸é µÇ´Ù. ÀÌ ÆÄÀÏÀÇ [rename]¼½¼Ç¿¡ "´ë»ó=¿øº»" Çü½ÄÀ¸·Î ¿£Æ®¸®¸¦ ÀÛ¼ºÇØ ³õÀ¸¸é ÆÄÀϸíÀÌ º¯°æµÈ´Ù. ´Ü, ÀÌ µ¿ÀÛÀº ¿î¿µÃ¼Á¦°¡ º¸È£ ¸ðµå·Î µé¾î°¡±â Àü¿¡ ÀÌ·ç¾îÁö¹Ç·Î ÆÄÀϸíÀº ¹Ýµå½Ã ªÀº À̸§À¸·Î ÀÛ¼ºÇØ¾ß ÇÑ´Ù. ÆÄÀϸíÀ» º¯°æÇÑ ÈÄ ½Ã½ºÅÛÀº WinInit.ini¸¦ WinInit.bak·Î º¯°æÇÏ¿© ÀÌ ÆÄÀÏÀ» ¹«È¿È­½ÃŲ´Ù.

ÀçºÎÆýà ÆÄÀÏÀ» ±³Ã¼ÇÏ´Â ¹æ¹ýÀÌ ¿î¿µÃ¼Á¦ ¹öÀü¿¡ µû¶ó »óÀÌÇϹǷΠGetVersionEx ÇÔ¼ö·Î ¿î¿µÃ¼Á¦ÀÇ ¹öÀüÀ» ÆǺ¯ÇÑ ÈÄ ÀûÀýÇÑ ¹æ¹ýÀ» »ç¿ëÇØ¾ß ÇÑ´Ù.

Âü°íÇÔ¼ö

MoveFileWithProgress : ÆÄÀÏ À̵¿ °úÁ¤¿¡¼­ Äݹé ÇÔ¼ö¸¦ È£ÃâÇØ ÁØ´Ù.

Ç÷§Æû

NT/2000 ÀÌ»ó

ÂüÁ¶

ÀçºÎÆÃÇÒ ¶§ ÆÄÀÏÀ» ±³Ã¼ÇÏ´Â ¹æ¹ý¿¡ ´ëÇؼ­´Â 25-1-¶óÀýÀÇ ReplaceFile ¿¹Á¦¸¦ ÂüÁ¶Çϱ⠹ٶõ´Ù.


written by http://www.winapi.co.kr