My problem is that while these are sane commands, the removal of the pagefile on C: requires me to reboot before those commands succeed.
Claro. Você pode expandir o arquivo de paginação (aumentar seu tamanho ou adicionar um a um novo volume) enquanto o Windows está rodando, mas você não pode reduzir (reduzindo seu tamanho ou removendo-o).
Or, in other words — I have to first create the D: pagefile, then reboot and delete the c:\pagefile.sys file
Você pode fazer isso ao mesmo tempo, para ter apenas que reinicializar uma vez.
I'm stuck with a c:\pagefile.sys file which isn't even recognized by Windows itself (it'll just say that there's a page file on D:, and that C: has no pagefile at all). Obviously because already some pages are written to the C:\pagefile.sys file.
Running those commands above are all valid, but they'll only succeed fully if I re-run the "attrib" and "del" commands at next boot. The C: pagefile is in use at the time, so I cannot delete the file it uses, and Windows itself won't remove it when I configure it to not use C: as a page file drive. Instead, it'll leave an orphaned c:\pagefile.sys file behind (which is really large).
Correto. O Windows reconheceu suas alterações, mas até você reiniciar, o arquivo de paginação ainda está em uso e não há nada que possa fazer sobre isso.
As it seems not possible to do in one go, I basically just ended up doing the pagefile configuration as described above first, then dropped another batch file into "%userprofile%\Start Menu\Programs\Startup" that removes the orphaned file from C: on the first logon. It isn't the prettiest solution, but it works :)
Ou, você pode usar um programa como MoveLater no seu arquivo em lote para que ele seja feito automaticamente pelo sistema em reinicialize.
Note que isto é diferente de executar algo da pasta Startup ou até mesmo das chaves de registro Run ; esses programas gravam os arquivos / pastas a serem movidos / renomeados / apagados para PendingFileRenameOperations
, que é processado muito cedo no processo de inicialização (tecnicamente antes que o Windows seja executado), então eles podem ser usados para apagar arquivos de sistema que simplesmente não podem ser excluídos depois que o Windows estiver funcionando.
Isso é útil porque, às vezes, o Windows detecta determinados arquivos e pastas como sendo “especiais” e, mesmo que esteja configurado para não usá-los, ainda os bloqueará de qualquer maneira, evitando que você os exclua durante a inicialização. Ao agendá-lo para ser excluído antes de o Windows ser executado, você pode eliminar os arquivos / pastas para que o Windows nem os veja.