Jak přesunout soubory, které jsou aktuálně používány

Překlady článku Překlady článku
ID článku: 140570 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Občas aplikace Win32 potřebujete odstranit, přejmenovat nebo přesunout soubory, které jsou právě používá jiný systém. Společné příkladem tohoto nastavení programy nutné odebrat samy z pevného disku uživatele, pokud jsou dokončení nastavení balíček softwaru. V některých případech je třeba přesunout ovladače zařízení, které jsou aktuálně používány v systému. Aplikace Potřebujete pomoc z operačního systému, odstranit nebo přesunout tyto soubory.

Systém Windows 95 a Windows NT poskytují jedinečný metodu pro pomoc aplikace odstranit, nahradit nebo přejmenovat soubory a adresáře, které jsou v použití. Ačkoli se liší jak implementují tyto dvě nástupiště metody, sdílení, tak i celkové strategie Určuje, kde aplikace soubory, které chcete zpracovat a systém zpracovává je po jeho restartování. To článek vysvětluje, jak pomocí metody podle jednotlivých aplikací Platforma Windows.

Další informace

Přesunutí souborů v systému Windows NT

Aplikace založené na systému Win32, které v systému Windows NT, používejte MoveFileEx() s Příznak MOVEFILE_DELAY_UNTIL_REBOOT pohyb, nahradit nebo odstranit soubory a adresáře, které právě používá. Při příštím restartování systému Program pro spuštění systému Windows NT, budou přesunuty, nahradit nebo odstranit zadané soubory a adresáře.

Chcete-li přesunout nebo nahradit soubor nebo adresář, který je používán, musí aplikace Určete zdrojovou i cílovou cestu na stejném svazku (například jednotka C:). Pokud cílová cesta je existující soubor, bude přepsán. Pokud cílová cesta je existující adresář, nebude být přepsány a zůstane zdroj a cíl cesty beze změny. Zde je příklad volání na pohyb nebo nahrazení souboru nebo adresář:
   // Move szSrcFile to szDstFile next time system is rebooted
   MoveFileEx(szSrcFile, szDstFile, MOVEFILE_DELAY_UNTIL_REBOOT);
				
Chcete-li odstranit soubor nebo adresář, aplikace musí nastavit cíl cesta na hodnotu NULL. Je-li zdrojová cesta adresář, bude odebrán pouze pokud je prázdný. Všimněte si, že je nutné použít MoveFileEx() odstranit soubory z adresář, je nutné restartovat počítač před připojením k MoveFileEx() na Odebrání adresáře. Zde je příklad, jak odstranit soubor nebo prázdná adresář:
   // Delete szSrcFile next time system is rebooted
   MoveFileEx(szSrcFile, NULL, MOVEFILE_DELAY_UNTIL_REBOOT);
				

Přesunutí souborů v systému Windows 95

Systém Windows 95 neimplementuje MoveFileEx(), ale poskytuje alternativní způsob, jakým všechny základě Win32, 16bitový systém Windows a založené na systému MS-DOS aplikace pohyb, nahradit nebo odstranit soubory (ale ne adresáře), jsou právě používány. Tato funkce je implementována prostřednictvím [přejmenovat] části souboru s názvem Wininit.ini domovská. Pokud je v Wininit.ini domovská Adresář systému Windows, Wininit.exe ji zpracuje při spuštění systému. Jednou Wininit.ini domovská byla zpracována, Wininit.exe jej přejmenuje na Wininit.bak.

Syntaxe oddílu [přejmenovat] je:
   DestinationFileName=SourceFileName
				
DestinationFileName a SourceFileName se musí nacházet na stejném svazku a být krátké názvy souborů (8.3), protože je zpracováno Wininit.ini domovská je zaveden systém disku pro chráněný režim a dlouhé názvy souborů jsou pouze je k dispozici při spuštění systému disk chráněný režim. Určení a zdrojové soubory určené v Wininit.ini domovská dlouhé názvy souborů jsou ignorovány.

Oddíl [přejmenovat] může mít více řádků s jeden soubor na řádek. K odstranění souboru, zadejte NUL jako DestinationFileName. Zde jsou některé položky Příklady:
   [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
				
První řádek způsobí, že Temp.txt má být odstraněn. Druhý příčin Existing.txt, která bude přesunuta do nového adresáře. Třetí způsobuje Oldname.txt Přesunutí a přejmenování. Čtvrtý způsobí, že bude existující soubor přepsat Newfile.txt.

Aplikace neměli používat WritePrivateProfileString() k zápisu položky oddíl [přejmenovat], protože může existovat více řádků se stejným DestinationFileName, zejména pokud je DestinationFileName "nul." Místo toho Analýza Wininit.ini domovská a přidávání položek do jejich by přidat položky Konec oddílu [přejmenovat].

Poznámka: Wininit.ini domovská analyzovat, protože vždy používat hledání velká a malá písmena může mít název oddílu [přejmenovat] a názvy souborů uvnitř kombinaci velkých a malých písmen.

Aplikace, které používají Wininit.ini domovská by měl zkontrolovat její existence v Adresář systému Windows. Pokud Wininit.ini domovská je k dispozici, pak jiná aplikace má zapsány, protože systém byl naposledy restartován. Proto aplikace by měla otevřít a přidat položky do oddílu [přejmenovat]. Pokud Wininit.ini domovská není přítomen, aplikace by ji vytvořit a přidat [přejmenujte] oddíl. Tím zajistíte, že položky z jiných aplikací nebude odstraněn omylem vaší aplikací.

Chcete-li soubor přejmenovat operaci vrátit zpět, před restartování systému, musíte odeberte odpovídající řádek v sekci [přejmenovat] Wininit.ini domovská soubor.

Vlastnosti

ID článku: 140570 - Poslední aktualizace: 23. dubna 2011 - Revize: 6.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Win32 Application Programming Interface na těchto platformách
    • Microsoft Windows 98 Standard Edition
    • Microsoft Windows Millennium Edition
Klíčová slova: 
kbapi kbfileio kbhowto kbkernbase kbprogramming kbmt KB140570 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:140570

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com