1

Я пытаюсь настроить автоматический скрипт для установщика Windows XP. Это пакетный сценарий, который запускается при первой загрузке после установки, и я пытаюсь полностью удалить файл подкачки из C: и поместить вместо него файл подкачки размером 16-768 МБ в D:.

Вот мои инструкции командного файла:

echo === Creating new page file on D: ...
cscript %windir%\system32\pagefileconfig.vbs /create /i 16 /m 768 /vo d: >nul
echo.
echo === Removing old page file from C: ...
cscript %windir%\system32\pagefileconfig.vbs /delete /vo C:
attrib -s -h c:\pagefile.sys
del c:\pagefile.sys

Моя проблема в том, что, хотя это нормальные команды, удаление файла подкачки на C: требует от меня перезагрузки, прежде чем эти команды преуспеют. B Или, другими словами - я должен сначала создать файл D: pagefile, а затем перезагрузить и удалить c:\pagefile.sys, или я застрял с файлом ac:\pagefile.sys, который даже не распознается самой Windows (он просто скажет, что на D: есть файл подкачки, а в C: нет файл подкачки вообще). Очевидно, потому что уже некоторые страницы записаны в файл C:\pagefile.sys.

Итак, как бы я сделал это за один раз? Или в двух случаях, если это "пакетный сценарий" :)

ТИА, Даниэль :)

РЕДАКТИРОВАТЬ: я, вероятно, должен уточнить: выполнение этих команд выше все допустимы, но они будут полностью успешными, только если я перезапущу команды "attrib" и "del" при следующей загрузке. Файл C: page используется в данный момент, поэтому я не могу удалить файл, который он использует, и сама Windows не удалит его, когда я настрою его так, чтобы он не использовал C: в качестве дисковода файлов подкачки. Вместо этого он оставит потерянный файл c:\pagefile.sys (который действительно большой).

Мне не нужно, чтобы это работало за один раз, регистрация двух последних команд для запуска после перезагрузки также была бы отличной :)

РЕДАКТИРОВАТЬ 2: Поскольку кажется, что это невозможно сделать за один раз, я просто закончил настройкой файла подкачки, как описано выше, а затем поместил другой пакетный файл в «% userprofile%\Start Menu\Programs\Startup», который удаляет осиротевшие файлы. файл из C: при первом входе в систему. Это не самое красивое решение, но оно работает :)

1 ответ1

0

Моя проблема в том, что, хотя это нормальные команды, удаление файла подкачки на C: требует от меня перезагрузки, прежде чем эти команды завершатся успешно.

Конечно. Вы можете расширить файл подкачки (увеличить его размер или добавить его в новый том) во время работы Windows, но вы не можете уменьшить его (уменьшить его или удалить).

Или, другими словами, я должен сначала создать файл D: pagefile, затем перезагрузить компьютер и удалить файл c:\pagefile.sys.

Вы можете сделать их одновременно, так что вам придется перезагрузить компьютер только один раз.

Я застрял с файлом ac:\pagefile.sys, который даже не распознается самой Windows (он просто скажет, что на D: есть файл подкачки, а в C: вообще нет файла подкачки). Очевидно, потому что уже некоторые страницы записаны в файл C:\pagefile.sys.

Выполнение этих команд, приведенных выше, допустимо, но полностью завершится успешно, только если я перезапущу команды "attrib" и "del" при следующей загрузке. Файл C: page используется в данный момент, поэтому я не могу удалить файл, который он использует, и сама Windows не удалит его, когда я настрою его так, чтобы он не использовал C: в качестве дисковода файлов подкачки. Вместо этого он оставит потерянный файл c:\pagefile.sys (который действительно большой).

Правильный. Windows признала ваши изменения, но до перезагрузки файл подкачки все еще используется, и с этим ничего нельзя поделать.

Поскольку кажется, что это невозможно сделать за один раз, я просто закончил настройкой файла подкачки, как описано выше, а затем поместил другой пакетный файл в «% userprofile%\Start Menu\Programs\Startup», который удаляет потерянный файл из C: при первом входе. Это не самое красивое решение, но оно работает :)

Или вы можете использовать программу вроде MoveLater в вашем пакетном файле, чтобы система автоматически выполняла перезагрузку.

Обратите внимание, что это отличается от запуска чего-либо из папки « Автозагрузка » или даже из разделов « Выполнить реестр»; эти программы записывают файлы / папки, которые нужно переместить / переименовать / удалить в PendingFileRenameOperations который обрабатывается очень рано в процессе загрузки (технически до того, как Windows даже запускается), поэтому их можно использовать для удаления даже системных файлов, которые просто не могут быть удалены после Windows работает и работает.

Это удобно, потому что иногда Windows определяет определенные файлы и папки как «особые», и даже если она настроена на их использование, она все равно будет блокировать их, не давая вам удалить их во время загрузки. Запланировав его удаление до запуска Windows, вы можете уничтожить файлы / папки, чтобы Windows даже не видела их.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .