Windows XPインストーラー用の自動スクリプトをセットアップしようとしています。これは、インストール後の最初の起動時に実行されるバッチスクリプトです。私が達成しようとしていることの1つは、C:からページファイルを完全に削除し、代わりにD:に16〜768 MBのページファイルを置くことです。
バッチファイルの手順は次のとおりです。
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.sysファイル、またはWindows自体でさえ認識されないac:\ pagefile.sysファイルで立ち往生しています(D:にページファイルがあり、C:にはないというだけです)すべてのページファイル)。明らかに、すでにいくつかのページがC:\ pagefile.sysファイルに書き込まれているためです。
それで、私はこれを一度に達成するにはどうすればよいですか?または、2回で、これが「バッチスクリプト可能」である場合:)
TIA、ダニエル:)
編集:おそらく明確にする必要があります:上記のコマンドの実行はすべて有効ですが、次回の起動時に「attrib」および「del」コマンドを再実行した場合にのみ完全に成功します。C:ページファイルはその時点で使用中であるため、使用しているファイルを削除できません。また、C:をページファイルドライブとして使用しないように構成しても、Windows自体は削除しません。代わりに、孤立したc:\ pagefile.sysファイルが残ります(これは非常に大きいです)。
一度に動作するために必ずしもこれが必要なわけではありません。再起動後に実行する最後の2つのコマンドを登録することも素晴らしいでしょう:)
編集2:一度に行うことはできないようであるため、基本的に上記のページファイル構成を最初に実行し、孤立したものを削除する別のバッチファイルを「%userprofile%\ Start Menu \ Programs \ Startup」にドロップしましたCからのファイル:最初のログオン時。それはきれいな解決策ではありませんが、動作します:)