Gewusst wie: Dateien verschieben, zurzeit in Verwendung

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 140570 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Manchmal müssen Win32-Anwendungen löschen, umbenennen oder Verschieben von Dateien, die derzeit vom System verwendet werden. Ein typisches Beispiel ist, dass Setup-Programme müssen Sie selbst aus Festplatte des Benutzers entfernen, wenn Sie ein Softwarepaket einrichten fertig sind. Manchmal müssen Sie auch Gerätetreiber zu verschieben, die derzeit vom System verwendet werden. Anwendungen benötigen Hilfe das Betriebssystem diese Dateien löschen oder verschieben.

Windows 95 und Windows NT, die jeweils eine eindeutige Methode für helfen, Anwendungen zu entfernen, Bereitstellen ersetzen oder Umbenennen von Dateien und Verzeichnisse, die verwendet werden. Obwohl die beiden Plattformen unterscheiden sich wie Sie diese Methoden implementieren, freigeben beide eine allgemeine Strategie, in denen die Anwendung gibt die zu verarbeitenden Dateien und das System verarbeitet diese, wenn er neu gestartet wird. In diesem Artikel wird erläutert, wie Anwendungen die Methode von jedem Windows-Plattform bereitgestellten verwenden können.

Weitere Informationen

Verschieben von Dateien in Windows NT

Win32-Anwendungen unter Windows NT ausgeführt sollten MoveFileEx() mit MOVEFILE_DELAY_UNTIL_REBOOT-Flag verwenden, um verschieben, ersetzen oder Löschen von Dateien und Verzeichnisse, die derzeit verwendet wird. Das nächste Mal das System gestartet wird, wird das Windows NT-Start-Programm zu verschieben, ersetzen Sie oder löschen Sie die angegebenen Dateien und Verzeichnisse.

Verschieben, oder Ersetzen einer Datei oder Verzeichnis, das verwendet wird, muss eine Anwendung eine Quell-und dem Ziel auf demselben Volume angeben (z. B. Laufwerk C:). Wenn der Zielpfad eine vorhandene Datei ist, wird Sie überschrieben werden. Ist der Zielpfad ein vorhandenes Verzeichnis werden nicht überschrieben und sowohl die Quell-und Zielpfad bleiben unverändert. Hier ist ein Beispiel-Aufruf von oder ersetzen Sie eine Datei oder ein Verzeichnis verschieben:
   // Move szSrcFile to szDstFile next time system is rebooted
   MoveFileEx(szSrcFile, szDstFile, MOVEFILE_DELAY_UNTIL_REBOOT);
				
um eine Datei oder ein Verzeichnis zu löschen, muss die Anwendung den Zielpfad auf NULL festgelegt. Wenn der Quellpfad ein Verzeichnis handelt, wird es entfernt nur, wenn es leer ist. Hinweis Wenn Sie MoveFileEx() verwenden müssen, um Dateien aus einem Verzeichnis zu entfernen, müssen Sie den Computer vor neu starten kann so entfernen Sie das Verzeichnis MoveFileEx() aufrufen. Es folgt ein Beispiel zum Löschen einer Datei oder ein Verzeichnis leer:
   // Delete szSrcFile next time system is rebooted
   MoveFileEx(szSrcFile, NULL, MOVEFILE_DELAY_UNTIL_REBOOT);
				

Verschieben von Dateien in Windows 95

Windows 95 nicht MoveFileEx() implementiert, bietet jedoch eine alternative Möglichkeit für alle Win32-basierten, 16-Bit-Windows-basierten und MS-DOS-basierten Anwendungen verschieben, ersetzen, oder Löschen von Dateien (jedoch keine Verzeichnisse), sind derzeit in Verwendung. Diese Funktion wird über den Abschnitt [Rename] einer Datei mit dem Namen "Wininit.ini implementiert. Wenn Wininit.ini im Windows-Verzeichnis vorhanden ist, verarbeitet "Wininit.exe" er beim Systemstart. Nachdem Wininit.ini verarbeitet hat, wird Sie von "Wininit.exe" in Wininit.bak umbenannt.

Die Syntax des Abschnitts [Rename] lautet:
   DestinationFileName=SourceFileName
				
DestinationFileName und SourceFileName muss sich auf demselben Volume befinden und short (8.3) Dateinamen da Wininit.ini verarbeitet wird, bevor das Datenträgersystem protected-Modus geladen, und lange Dateinamen sind nur verfügbar, wenn das Datenträgersystem geschützten Modus ausgeführt wird. Ziel und Quelle angegebene Dateien in Wininit.ini mit langen Dateinamen werden ignoriert.

Der Abschnitt [Rename] haben mehrere Zeilen mit einer Datei pro Zeile. Geben Sie zum Löschen einer Datei NUL als die DestinationFileName. Einige Beispiele Eintrag:
   [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
				
die erste Zeile wird Temp.txt gelöscht werden. Die zweite bewirkt, dass Existing.txt zu einem neuen Verzeichnis verschoben werden soll. Die dritte bewirkt, dass oldname.txt verschoben und umbenannt werden. Die vierte wird eine vorhandene Datei durch Newfile.txt überschrieben werden.

Anwendungen sollten nicht WritePrivateProfileString() verwenden, um Einträge in den Abschnitt [Rename] schreiben, weil mehrere Zeilen mit den gleichen DestinationFileName es kann insbesondere, wenn DestinationFileName "NUL". Stattdessen sollten Sie Einträge hinzufügen, indem Wininit.ini analysiert und die Einträge an das Ende des Abschnitts [Rename] anfügen.

Hinweis: Immer verwenden Sie eine Suche ohne Berücksichtigung der Groß-und Kleinschreibung Wininit.ini analysieren, weil der Titel der Abschnitt [Rename] und die Dateinamen darin möglicherweise eine beliebige Kombination aus Groß- und Kleinbuchstaben.

Anwendungen, die Wininit.ini sollten für seine Existenz im Windows-Verzeichnis überprüfen. Wenn Wininit.ini vorhanden ist, hat eine andere Anwendung zu geschrieben, da das System zuletzt neu gestartet wurde. Daher sollte die Anwendung öffnen, und fügen Sie Einträge im Abschnitt [Rename]. Wenn Wininit.ini nicht vorhanden ist, sollte die Anwendung erstellen Sie ihn und fügen Sie im Abschnitt [Rename]. Dadurch wird sichergestellt, dass Einträge aus anderen Anwendungen von der Anwendung versehentlich gelöscht wird nicht.

Einen Umbenennungsvorgang Datei rückgängig machen, bevor das System neu gestartet wird, müssen Sie die entsprechende Zeile aus dem Abschnitt [Rename] der Datei Wininit.ini entfernen.

Eigenschaften

Artikel-ID: 140570 - Geändert am: Dienstag, 21. November 2006 - Version: 4.3
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Win32 Application Programming Interface, wenn verwendet mit:
    • Microsoft Windows 95
    • Microsoft Windows 98 Standard Edition
    • the operating system: Microsoft Windows 2000
    • Microsoft Windows Millennium Edition
    • Microsoft Windows NT 4.0
    • the operating system: Microsoft Windows XP
Keywords: 
kbmt kbapi kbfileio kbhowto kbkernbase kbprogramming KB140570 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 140570
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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