A Windows XP forum. XPdiskussion

Zurück   Home » XPdiskussion forum » Windows XP » Registry
Site Map Home Benutzerliste Suchen Heutige Beiträge Alle Foren als gelesen markieren Web Partners

Gesperrte Dateien/Verzeichnisse mit Bordmitteln verschieben/umbenennen (FileMoveEx())



 
 
Themen-Optionen Ansicht
  #1  
Alt July 27th 09, 11:19 PM posted to microsoft.public.de.german.win2000.registry,microsoft.public.de.german.win2000.setup,microsoft.public.de.german.win2000.sonstiges,microsoft.public.de.german.windowsxp.registry,microsoft.public.de.german.windowsxp.setup
Stefan Kanthak
Usenet Benutzer
 
Beiträge: 269
Standard Gesperrte Dateien/Verzeichnisse mit Bordmitteln verschieben/umbenennen (FileMoveEx())

Hi @ll,

vielleicht kennt jemand von euch ja einen (anderen, nicht im Folgenden
beschriebenen) Weg, gesperrte Dateien oder Verzeichnisse mit Bordmitteln
(beim Reboot) zu verschieben oder umzubennenen.

BTW: das Loeschen gesperrter Dateien mit Bordmitteln ist einfach.

--- *.INF ---
[Version]
Signature="$CHICAGO$"

[DefaultInstall]
DelFiles=DelFiles

[DelFiles]
filename.ext,,,1

[DestinationDirs]
DelFiles=DIRID,"subdir"
--- EOF ---

Diese *.INF per

RunDll32.Exe SetupAPI.Dll,InstallHinfSection DefaultInstall 4 *.INF

ausfuehren, den Prompt zum Reboot bejahen und weg ist die Datei.

*.INF kennt zwar auch ein [RenFiles], aber das kann nur ungesperrte
Dateien im gleichen Verzeichnis umbenennen.


Jetzt die Probleme zu den drei mir eingefallenen Loesungen mit
Bordmitteln und den "PendingFileRenameOperations":

1.
Reg.Exe Add "HKLM\System\CurrentControlSet\Control\Session Manager" /V "PendingFileRenameOperations" /T REG_MULTI_SZ /D
"\??\alterPfad\0\??\neuerPfad"

erfuellt das gewuenschte Verschieben von Dateien/Verzeichnissen;
ABER: dieser Aufruf von REG.EXE ueberschreibt evtl. bestehende
Eintraege (wenn auch nach Prompt), ist also nicht allgemein(*)
brauchbar;


2.
--- *.INF ---
[Version]
Signature="$CHICAGO$"

[DefaultInstall]
AddReg=AddReg

[AddReg]
HKLM,"System\CurrentControlSet\Control\Session Manager","PendingFileRenameOperations",0x00010002, "\??\alterPfad","\??\neuerPfad"
--- EOF ---

erfuellt das gewuenschte Verschieben von Dateien/Verzeichnissen;
ABER: da der Eintrag nur ueberschrieben wird, wenn er nicht existiert,
ist diese Loesung nicht allgemein brauchbar;


3.
--- *.INF ---
[Version]
Signature="$CHICAGO$"

[DefaultInstall]
AddReg=AddReg

[AddReg]
HKLM,"System\CurrentControlSet\Control\Session Manager","PendingFileRenameOperations",0x00010008, "\??\alterPfad"
HKLM,"System\CurrentControlSet\Control\Session Manager","PendingFileRenameOperations",0x00010008, "\??\neuerPfad"
--- EOF ---

ergaenzt zwar wie gewuenscht ein Paaerchen von Pfadnamen, ABER: ist
unter "PendingFileRenameOperations" eine Loeschoperation eingetragen
(bei der der zweite Pfadname eines Paaerchens LEER ist), dann wird
das neue Paaerchen VOR diesem leeren Pfadnamen eingetragen, und damit
"\??\alterPfad" zum ZIEL der vorher zu loeschenden Datei (dem Ziel
passiert hier beim Reboot nichts, da dieses nicht mittels "!\??\" zum
Ueberschreiben freigegeben wird), UND alle folgenden Paaerchen
geloescht, d.h. "PendingFileRenameOperations" wird zerstoert (was kein
Wunder ist, denn wer auch immer bei MOFT sich diese Struktur ausgedacht
hat, hat "list of null-terminated strings" ganz offensichtlich nicht
verstanden).


Gibt's irgendeine andere, allgemein verwendbare Loesung (ausser
while exist "PendingFileRenameOperations" do Reboot(); end while
PendingFileRenameOperations=...
Reboot())?


mfg
Stefan

* REG.EXE Query "HKLM\System\CurrentControlSet\Control\Session Manager" /V "PendingFileRenameOperations"
If "%ERRORLEVEL%" == 0 Goto :EOF

kann feststellen, ob der Eintrag schon existiert (und damit nicht-
leer ist), verhilft aber auch zu keiner allgemein brauchbaren Loesung.
[
--
Die unaufgeforderte Zusendung werbender E-Mails verstoesst gegen §823
Abs. 1 sowie §1004 Abs. 1 BGB und begruendet Anspruch auf Unterlassung.
Beschluss des OLG Bamberg vom 12.05.2005 (AZ: 1 U 143/04)


Ads
 




Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge anzufügen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Gesperrte Dateien/Verzeichnisse mit Bordmitteln verschieben/umbenennen (FileMoveEx()) Stefan Kanthak Setup 0 July 27th 09 11:19 PM
Gesperrte Verzeichnisse Dag Haeddenskjoeld Sonstiges 18 May 30th 07 09:11 PM
Windows 2000/2003 Server gesperrte Dateien Christian Jehle Networking 4 February 15th 06 04:55 PM
Gesperrte Verzeichnisse freigeben Hans-Jörg Ott Hardware 1 August 26th 05 09:06 AM
Auf gesperrte Verzeichnisse zugreifen Hans-Jörg Ott Applications 1 August 25th 05 08:52 PM


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:24 AM Uhr.


Powered by vBulletin® Version 3.6.4 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Copyright ©2004-2018 XPdiskussion.
The comments are property of their posters.