Ako presunúť súbory, ktoré sa v súčasnosti používajú

Preklady článku Preklady článku
ID článku: 140570 - Zobraziť produkty, ktorých sa tento článok týka.
Rozbaliť všetko | Zbaliť všetko

Na tejto stránke

SUHRN

Niekedy Win32 žiadostí potrebné odstrániť, premenovať alebo premiestniť súbory, ktoré sú momentálne používa systém. Jedným z príkladov je toto nastavenie programy musieť sami odstrániť z používateľa pevného disku, ak sú hotové nastavenie softvérový balík. Niekedy potrebujú aj presunúť ovládače, ktoré sú v súčasnosti používané systémom. Aplikácie potrebujete pomoc od operačného systému odstrániť alebo presunúť tieto súbory.

Systém Windows 95 a Windows NT poskytujú jedinečné metódu na pomoc aplikácie odstrániť, nahradiť alebo premenovanie súborov a adresárov, ktoré sú pri používaní. Hoci dvoch platforiem líšiť ako budú vykonávať tieto metódy, obaja zdieľajú celkovú stratégiu, ak aplikácia určuje ktoré súbory spracovať a systém ich spracováva keď sa reštartuje. Toto článok vysvetľuje, ako aplikácií môžete použiť metódu poskytnuté každým Platformu Windows.

DALSIE INFORMACIE

Presúvanie súborov v systéme Windows NT

Win32 aplikácií operačnom systéme Windows NT by mali používať MoveFileEx() s MOVEFILE_DELAY_UNTIL_REBOOT vlajkou premiestniť, nahradiť alebo odstrániť súbory a adresáre práve používa. Nabudúce systém restartoval, Windows NT bootup program bude pohybovať, nahradiť alebo odstrániť zadaných súborov a adresárov.

Premiestniť alebo nahradiť súbor alebo adresár, ktorý sa používa, musí žiadosť určiť zdroj a cieľ cestu na tom istom zväzku (napríklad, jednotka C:). Ak Cieľová cesta je existujúceho súboru, bude overwritten. Ak Cieľová cesta je existujúci adresár, nebude byť prepísané a zdroj a miesto určenia cesty ostanú nezmenené. Tu je príklad volania premiestniť alebo nahradiť súbor alebo presunúť adresár:
   // Move szSrcFile to szDstFile next time system is rebooted
   MoveFileEx(szSrcFile, szDstFile, MOVEFILE_DELAY_UNTIL_REBOOT);
				
Ak chcete odstrániť súbor alebo adresár, uplatňovanie nastaviť miesto určenia cesta na hodnotu NULL. Ak je Zdrojová cesta adresár, odstráni sa iba vtedy, ak je prázdny. Všimnite si, že ak musíte použiť MoveFileEx() odstrániť súbory z adresár, musíte reštartovať počítač pred môžete volať MoveFileEx() na odstrániť adresár. Tu je príklad ako odstrániť súbor alebo prázdne adresár:
   // Delete szSrcFile next time system is rebooted
   MoveFileEx(szSrcFile, NULL, MOVEFILE_DELAY_UNTIL_REBOOT);
				

Presúvanie súborov v systéme Windows 95

Systém Windows 95 neimplementuje MoveFileEx(), ale neposkytuje náhradníka cestu pre všetky Win32-založené, 16-bitový systém Windows a MS-DOS-založené aplikácie premiestniť, nahradiť alebo odstrániť súbory (ale nie adresáre), v súčasnosti sa používa. Táto schopnosť sa realizuje prostredníctvom [premenovať] sekcia súbor s názvom Wininit.ini. Ak je prítomný v Wininit.ini Adresár systému Windows, Wininit.exe spracuje pri spúšťaní systému. Raz WININIT.ini bola spracovaná, Wininit.exe premenuje ho na Wininit.bak.

Syntax sekcie [premenovať] je:
   DestinationFileName=SourceFileName
				
DestinationFileName a SourceFileName musia zdržiavať na tom istom zväzku a byť krátke názvy súborov (8.3), pretože Wininit.ini sa spracúva pred chránený režim disku systému je načítaný, a dlhé názvy súborov sú len k dispozícii, keď je spustený systém na chránený režim disku. Určenia a zdrojové súbory špecifikovaných v Wininit.ini s dlhé názvy súborov, sa ignorujú.

Sekcia [premenovať] môže mať viacero riadkov s jeden súbor líniu. Vykonaná akcia odstránenie súboru, zadajte NUL ako DestinationFileName. Tu sú niektoré položky Prí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
				
Prvý riadok spôsobuje Temp.txt vypúšťa. Druhý príčin Existing.txt prepraviť na nový adresár. Tretí spôsobuje Oldname.txt na prenášanie a premenované. Štvrtý spôsobuje existujúceho súboru sa prepíše Newfile.txt.

Aplikácie by nemali používať WritePrivateProfileString() písať položky [premenovať] oddiel pretože môže existovať viacero riadkov s rovnakým DestinationFileName, najmä ak DestinationFileName je "NUL." Namiesto toho mali by pridať položky parsování Wininit.ini a pridávanie položky koniec sekcie [premenovať].

Poznámka: Vždy používajte bunke vyhľadávanie analyzovať Wininit.ini, pretože názov sekcie [premenovať] a názvy súborov vnútri neho môže mať akúkoľvek kombináciu veľkých a malých písmen.

Aplikácie, ktoré používajú Wininit.ini by mala kontrolovať jeho existencie v Adresár systému Windows. Ak je Wininit.ini, potom ďalšia aplikácia má zapísané pretože systém bol naposledy reštartovaný. Preto, žiadosť by ho otvoriť a pridať položky do sekcie [premenovať]. Ak WININIT.ini nie je k dispozícii, žiadosť by mala vytvoriť a pridať do [premenovať] sekcie. Pritom zabezpečí, aby sa položky z iných aplikácií nebude byť odstránený omylom vašej žiadosti.

Ak chcete vrátiť operácia premenovania súboru pred systém restartoval, musíte odstrániť zodpovedajúci riadok v sekcii [premenovať] Wininit.ini súbor.

Vlastnosti

ID článku: 140570 - Posledná kontrola: 10. októbra 2011 - Revízia: 2.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • Microsoft Win32 Application Programming Interface, pri použití s produktom:
    • Microsoft Windows 98 Standard Edition
    • Microsoft Windows Millennium Edition
Kľúčové slová: 
kbapi kbfileio kbhowto kbkernbase kbprogramming kbmt KB140570 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:140570

Odošlite odozvu

 

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