Domanda

Quando deframmento la mia macchina XP noto che c'è un blocco di "File inamovibili".Esiste un attributo di file che posso utilizzare per rendere i miei file inamovibili?

Giusto per chiarire, voglio un modo per dire a livello di codice a Windows che un file che creo dovrebbe essere inamovibile.È possibile e, se sì, come posso farlo?

Grazie,

Terry

È stato utile?

Soluzione

Molti file di sistema non possono essere spostati dopo l'avvio del sistema, come il file di paging e i file del database del registro.

Questa utilità viene eseguito prima dell'avvio di Windows per deframmentare tali file.L'ho impostato per essere eseguito ad ogni avvio e funziona bene per me su diverse macchine.

Tieni presente che la prima volta che esegui l'avvio con questa utility impostata per l'esecuzione, potrebbero essere necessari diversi minuti per la deframmentazione.Dopo la prima esecuzione, però, termina in soli 3 o 4 secondi.

Modifica0:Per rispondere al tuo chiarimento: quel collegamento dice che Windows ha contrassegnato il file di paging e i file di registro come aperti per l'accesso esclusivo.Quindi dovresti essere in grado di fare la stessa cosa con il LockFile Chiamata API.Tuttavia, questo non è un attributo del file stesso.Dovresti effettivamente eseguire un programma in background che blocchi il file per l'accesso esclusivo.

Altri suggerimenti

Non esistono attributi di file che puoi inserire nei tuoi file per contrassegnarli come inamovibili.L'unico modo in cui un file non può essere spostato (credo) durante la deframmentazione è che qualche altro processo abbia il file aperto (per lettura o scrittura, non sono nemmeno sicuro che sia necessario avere il file aperto in modalità esclusiva o meno ).

Francamente, non riesco a pensare a un motivo per cui vorresti che i tuoi file non si spostassero, a meno che tu non abbia requisiti specifici su dove risiedono i tuoi file sul piatto del disco.La deframmentazione dovrebbe generalmente portare ad un accesso al disco più veloce e ciò sembra essere desiderabile in tutti i casi :-)

Questo di solito significa che il file è utilizzato da qualche processo.Se stai effettuando la deframmentazione, probabilmente lo vedrai con molti file di sistema.Se il file dovrebbe essere legittimamente spostabile ed è bloccato (è trattenuto da un processo che viene eseguito all'avvio ma non dovrebbe esserlo, ad esempio), il modo più utile per risolvere il problema è rimuovere tutte le autorizzazioni sul file, riavviare, ripristinare i permessi, quindi eliminare il file/eseguire il programma che sta tentando di utilizzarlo.

Suppongo che il modo brutto sia avviare un'applicazione all'avvio, controllare ogni pochi secondi se la deframmentazione è in esecuzione e in tal caso aprire il file in modalità esclusiva.

Questo è davvero brutto e non lo consiglio a meno che non ci sia una soluzione più pulita.

Terry, tutte le risposte menzionano modi per evitare che i file diventino inamovibili durante la deframmentazione.Dalla tua domanda sembra che tu lo voglia effettivamente Fare i tuoi file personali inamovibili.Puoi per favore chiarire cosa è interessante nel rendere i tuoi file inamovibili.

Presumo che tu stia utilizzando il deframmentatore fornito con Windows.Alcuni commerciali come DiskKeeper possono spostare alcuni di questi file (solitamente file di sistema).Puoi provare le loro versioni di prova.

Contig potrebbe servire al tuo scopo http://technet.microsoft.com/en-us/sysinternals/bb897428.aspx

Sono relativamente certo di aver riscontrato alcuni metodi/attributi a cui potresti accedere in modo programmatico per fare esattamente quello che desideri.Questo però accadeva ai tempi di NT4 e la mia memoria non è così buona.

Per una soluzione un po' più completa, prova PerfectDisk di Raxco.Sebbene sia un prodotto commerciale, fa un ottimo lavoro e supporta la deframmentazione dei file di sistema all'avvio.La prima deframmentazione richiede più tempo rispetto, ad esempio, a DiskKeeper, ma è una deframmentazione a passaggio singolo e supporta la deframmentazione con pochissimo spazio libero rimasto sull'unità.Nel complesso è un programma di deframmentazione molto più intelligente di qualsiasi altro che abbia mai visto e supporta sistemi di qualsiasi dimensione.

http://www.raxco.com/

prima prova a spostare (o eliminare) i file in modalità provvisoria.In caso contrario, prova a spostare (o eliminare) i file con Linux.

Ma fai attenzione se questi sono i file di sistema di Windows, non riuscirai ad avviare Windows.

Alcuni motivi per cui i file sono inamovibili sono:la dimensione del file è troppo grande, i file sono aperti/in uso, privilegi di sicurezza insufficienti, accesso da parte di altri computer e molte altre cose.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top