Het verplaatsen van bestanden die gebruikt worden

BELANGRIJK: Dit artikel is vertaald door de vertaalmachine software van Microsoft in plaats van door een professionele vertaler. Microsoft biedt u professioneel vertaalde artikelen en artikelen vertaald door de vertaalmachine, zodat u toegang heeft tot al onze knowledge base artikelen in uw eigen taal. Artikelen vertaald door de vertaalmachine zijn niet altijd perfect vertaald. Deze artikelen kunnen fouten bevatten in de vocabulaire, zinsopbouw en grammatica en kunnen lijken op hoe een anderstalige de taal spreekt en schrijft. Microsoft is niet verantwoordelijk voor onnauwkeurigheden, fouten en schade ontstaan door een incorrecte vertaling van de content of het gebruik ervan door onze klanten. Microsoft past continue de kwaliteit van de vertaalmachine software aan door deze te updaten.

De Engelstalige versie van dit artikel is de volgende: 140570
Samenvatting
Soms moeten Win32-toepassingen verwijderen, hernoemen of verplaatsen van bestandenmomenteel wordt gebruikt door het systeem. Een voorbeeld is dat de installatieprogramma's nodig om zelf te verwijderen van de vaste schijf van de gebruiker wanneer ze zijnna afloop van een softwarepakket. Soms moeten verplaatsenstuurprogramma's die momenteel worden gebruikt door het systeem. Toepassingenhulp van het besturingssysteem deze bestanden verwijdert of verplaatst.

Windows 95 en Windows NT biedt een unieke methode voor het helpentoepassingen verwijderen, vervangen of wijzigen van bestanden en mappenin gebruik. Hoewel de twee platforms verschillen in hoe ze deze implementerenmethoden, beide delen een algemene strategie waarbij de toepassing geeftwelke bestanden en het systeem verwerkt de wanneer deze opnieuw wordt opgestart. Ditartikel wordt uitgelegd hoe toepassingen kunnen gebruiken met de methode die door elkWindows-platform.
Meer informatie

Verplaatsen van bestanden in Windows NT

Win32-toepassingen waarop Windows NT moeten gebruiken MoveFileEx() metde vlag MOVEFILE_DELAY_UNTIL_REBOOT te verplaatsen, vervangen of verwijderen van bestanden enmappen die momenteel wordt gebruikt. De volgende keer dat het systeem opnieuw is opgestart, deWindows NT bootup programma gaat, vervangen of de opgegeven bestanden verwijderenen mappen.

Verplaatsen of vervangen van een bestand of directory die wordt gebruikt door moet een toepassingeen bron en bestemming pad (bijvoorbeeld op hetzelfde volume opgevenstation C :). Als het doelpad een bestaand bestand is, kanoverschreven. Als het doelpad een bestaande map is, zal nietoverschreven en paden van de bron en bestemming blijvenongewijzigd. Hier is een voorbeeld aanroep of vervangen van een bestand of eenmap:
   // Move szSrcFile to szDstFile next time system is rebooted   MoveFileEx(szSrcFile, szDstFile, MOVEFILE_DELAY_UNTIL_REBOOT);				
Een bestand of directory wilt verwijderen, moet de toepassing de bestemming instellenpad naar NULL. Als de bronpad een map is, wordt verwijderd alsleeg is. Als u moet MoveFileEx() gebruiken om bestanden uit eenDirectory, u moet de computer opnieuw opstarten voordat u kunt MoveFileEx() om te bellende map verwijderen. Hier volgt een voorbeeld van hoe u een bestand verwijdert of lege eenmap:
   // Delete szSrcFile next time system is rebooted   MoveFileEx(szSrcFile, NULL, MOVEFILE_DELAY_UNTIL_REBOOT);				

Verplaatsen van bestanden in Windows 95

Windows 95 implementeert geen MoveFileEx(), maar biedt een alternatievevoor alle Win32 gebaseerde, 16-bits Windows en MS-DOS gebaseerdetoepassingen verplaatsen, vervangen of verwijderen van bestanden (maar niet de mappen) diemomenteel in gebruik. Deze mogelijkheid is geïmplementeerd via [naam]gedeelte van een bestand Wininit.ini genoemd. Als Wininit.ini aanwezig is in deWindows-map Wininit.exe verwerkt wanneer het systeem wordt opgestart. EenmaalWininit.ini is verwerkt, Wininit.exe hernoemd naar Wininit.bak.

De syntaxis van de sectie [naam] is:
   DestinationFileName=SourceFileName				
Doelbestandsnaam en bronbestandsnaam moet zich op hetzelfde volume enkorte (8.3) bestandsnamen worden omdat Wininit.ini wordt verwerkt voordat debeveiligde modus schijfsysteem wordt geladen en lange bestandsnamen worden alleenbeschikbaar wanneer het systeem van de schijf protected-modus wordt uitgevoerd. Bestemming enbronbestanden die zijn opgegeven in Wininit.ini met lange bestandsnamen worden genegeerd.

De sectie [rename] kan meerdere regels met één bestand per regel bevatten. Naareen bestand verwijderen NUL opgeven als de doelbestandsnaam. Hier zijn enkele postVoorbeelden:
   [rename]   NUL=C:\TEMP.TXT   C:\NEW_DIR\EXISTING.TXT=C:\EXISTING.TXT   C:\NEW_DIR\NEWNAME.TXT=C:\OLDNAME.TXT   C:\EXISTING.TXT=C:\TEMP\NEWFILE.TXT				
De eerste regel wordt Temp.txt worden verwijderd. De tweede oorzaakExisting.txt worden verplaatst naar een nieuwe map. De derde veroorzaakt Oldname.txtworden verplaatst en gewijzigd. De vierde wordt een bestaand bestanddoor Newfile.txt overschreven.

Toepassingen moeten WritePrivateProfileString() schrijven posten niet gebruiken[naam]-sectie omdat er meerdere regels met hetzelfdeDoelbestandsnaam, vooral als doelbestandsnaam 'NUL'. In plaats daarvanzij moeten vermeldingen toevoegen door Wininit.ini parseren en de posten toevoegenhet einde van de sectie [naam].

Opmerking: Gebruik altijd een niet-hoofdlettergevoelige zoekactie Wininit.ini parseren omdat detitel van de sectie [naam] en de namen van de bestanden erin kan hebbencombinatie van hoofdletters en kleine letters.

Toepassingen die gebruikmaken van Wininit.ini te controleren of het bestaan in deWindows-map. Als Wininit.ini aanwezig is, heeft een andere toepassingnaar het geschreven omdat het systeem de laatste keer is gestart. Daarom detoepassing moet openen en vermeldingen toevoegen aan de sectie [naam]. AlsWininit.ini niet aanwezig is, wordt de toepassing moet maken en toevoegen aan desectie [naam]. Hiermee zorgt u ervoor dat gegevens uit andere toepassingenniet verwijderd per ongeluk door uw toepassing.

Om een file rename-bewerking ongedaan voordat u het systeem opnieuw is opgestart, moet ude bijbehorende regel verwijderen uit de sectie [naam] van de Wininit.inihet bestand.
update installeren installatie

Waarschuwing: dit artikel is automatisch vertaald

Eigenschappen

Artikel-id: 140570 - Laatst bijgewerkt: 07/13/2012 12:18:00 - Revisie: 6.0

Microsoft Win32-API

  • kbapi kbfileio kbhowto kbkernbase kbprogramming kbmt KB140570 KbMtnl
Feedback