กำหนดค่าใหม่แล้วลบ pagefile.sys ที่ล้าสมัยจาก C: ในคราวเดียวโดยใช้ชุดสคริปต์


1

ฉันกำลังพยายามตั้งค่าสคริปต์อัตโนมัติสำหรับโปรแกรมติดตั้ง Windows XP เป็นชุดสคริปต์ที่ทำงานในการบูตครั้งแรกหลังจากการติดตั้งและในสิ่งที่ฉันพยายามที่จะประสบความสำเร็จคือการลบ pagefile จาก C: ทั้งหมดและวาง 16,778 MB pagefile บน 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

ปัญหาของฉันคือขณะที่คำสั่งเหล่านี้เป็นคำสั่งที่มีสติการลบ pagefile บน C: ต้องการให้ฉันรีบูตก่อนที่คำสั่งเหล่านั้นจะประสบความสำเร็จหรือในคำอื่น ๆ - ฉันต้องสร้าง D: pagefile ก่อนจากนั้นรีบูตและลบ c : ไฟล์ \ pagefile.sys หรือฉันติดอยู่กับไฟล์ ac: \ pagefile.sys ซึ่ง Windows เองก็ไม่รู้จัก (มันแค่บอกว่ามีไฟล์หน้าใน D :, และ C: ไม่มี pagefile เลย) เห็นได้ชัดเพราะมีบางหน้าถูกเขียนไปยังไฟล์ C: \ pagefile.sys

แล้วฉันจะทำอย่างไรให้สำเร็จในคราวเดียว? หรือในสอง gos หากนี่คือ "batch scriptable" :)

เตี้ย แดเนียล :)

แก้ไข: ฉันควรจะชี้แจง: การเรียกใช้คำสั่งเหล่านี้ถูกต้อง แต่พวกเขาจะประสบความสำเร็จอย่างสมบูรณ์ถ้าฉันเรียกใช้คำสั่ง "attrib" และ "del" อีกครั้งในการบู๊ตครั้งถัดไป C: pagefile ถูกใช้งานในเวลาดังนั้นฉันไม่สามารถลบไฟล์ที่ใช้และ Windows เองจะไม่ลบมันเมื่อฉันกำหนดค่าให้ไม่ใช้ C: เป็นไดรฟ์ไฟล์หน้า แต่จะปล่อยให้ไฟล์ c: \ pagefile.sys ที่ไม่ได้ใช้งานอยู่ด้านหลัง (ซึ่งมีขนาดใหญ่มาก)

ฉันไม่จำเป็นต้องใช้สิ่งนี้ในการทำงานเพียงครั้งเดียวการลงทะเบียนคำสั่งสองคำสั่งสุดท้ายเพื่อเรียกใช้หลังจากการรีบูตก็ดีเช่นกัน :)

แก้ไข 2: ตามที่ดูเหมือนเป็นไปไม่ได้ที่จะทำในครั้งเดียวฉันโดยทั่วไปเพียงแค่ทำการกำหนดค่า pagefile ตามที่อธิบายไว้ข้างต้นก่อนจากนั้นปล่อยไฟล์แบตช์อื่นลงใน "% userprofile% \ Start Menu \ Programs \ Startup" ไฟล์จาก C: ในการเข้าสู่ระบบครั้งแรก มันไม่ใช่ทางออกที่สวยที่สุด แต่ใช้งานได้ :)


1
ค่อนข้างแน่ใจว่าคุณ จำเป็นต้อง เพื่อรีบูต มองเข้าไปใน RunOnce รีจิสตรีคีย์ - ใช้เครื่องโลคัลหนึ่งตัว (ไม่ใช่ผู้ใช้ปัจจุบัน)
Bob

@Bob ขอบคุณ! ฉันคิดว่าฉันอาจสามารถถอดรหัสบางอย่างเกี่ยวกับการติดตั้งของฉันได้ ฉันจะรายงานกลับ :)
DanielSmedegaardBuus

คำตอบ:


0

ปัญหาของฉันคือขณะที่คำสั่งเหล่านี้เป็นคำสั่งที่มีสติการลบ pagefile บน C: ต้องการให้ฉันรีบูตก่อนที่คำสั่งเหล่านั้นจะประสบความสำเร็จ

แน่นอน. คุณสามารถ ขยายตัว pagefile (เพิ่มขนาดหรือเพิ่มขนาดให้กับโวลุ่มใหม่) ในขณะที่ Windows กำลังทำงาน แต่คุณไม่สามารถทำได้ ลด มัน (ลดขนาดหรือลบออก)

หรือในคำอื่น ๆ - ฉันต้องสร้าง D: pagefile ก่อนจากนั้นรีบูตและลบไฟล์ c: \ pagefile.sys

คุณสามารถทำได้ในเวลาเดียวกันเพื่อให้คุณต้องรีบูทครั้งเดียวเท่านั้น

ฉันติดอยู่กับไฟล์ c: \ pagefile.sys ซึ่ง Windows เองก็ไม่รู้จัก (มันแค่บอกว่ามีไฟล์หน้าใน D :, และ C: ไม่มีไฟล์หน้าเลย) เห็นได้ชัดเพราะมีบางหน้าถูกเขียนไปยังไฟล์ C: \ pagefile.sys

การเรียกใช้คำสั่งเหล่านี้ทั้งหมดนั้นถูกต้อง แต่จะประสบความสำเร็จได้ก็ต่อเมื่อฉันรันคำสั่ง "attrib" และ "del" อีกครั้งในการบู๊ตครั้งถัดไป C: pagefile ถูกใช้งานในเวลาดังนั้นฉันไม่สามารถลบไฟล์ที่ใช้และ Windows เองจะไม่ลบมันเมื่อฉันกำหนดค่าให้ไม่ใช้ C: เป็นไดรฟ์ไฟล์หน้า แต่จะปล่อยให้ไฟล์ c: \ pagefile.sys ที่ไม่ได้ใช้งานอยู่ด้านหลัง (ซึ่งมีขนาดใหญ่มาก)

แก้ไข. Windows ยอมรับการเปลี่ยนแปลงของคุณ แต่จนกว่าคุณจะเริ่มต้นใหม่ไฟล์ pagefile นั้นยังคงใช้งานอยู่และไม่มีสิ่งใดที่สามารถทำได้

ตามที่ดูเหมือนว่าเป็นไปไม่ได้ที่จะทำในครั้งเดียวโดยทั่วไปแล้วฉันเพิ่งจะทำการกำหนดค่า pagefile ตามที่อธิบายไว้ข้างต้นก่อนจากนั้นปล่อยไฟล์แบตช์อื่นลงใน "% userprofile% \ Start Menu \ Programs \ Startup" ที่ลบไฟล์ : ในการเข้าสู่ระบบครั้งแรก มันไม่ใช่ทางออกที่สวยที่สุด แต่ใช้งานได้ :)

หรือคุณสามารถใช้โปรแกรมเช่น MoveLater ในแบทช์ไฟล์ของคุณเพื่อให้ระบบทำการรีบูตโดยอัตโนมัติ

หมายเหตุนี่แตกต่างจากการใช้บางสิ่งจาก การเริ่มต้น โฟลเดอร์หรือแม้กระทั่ง วิ่ง รีจิสตรีคีย์ โปรแกรมเหล่านี้เขียนไฟล์ / โฟลเดอร์ที่จะย้าย / เปลี่ยนชื่อ / ลบไป PendingFileRenameOperations ซึ่งได้รับการประมวลผลตั้งแต่ต้นในขั้นตอนการบู๊ต (โดยทางเทคนิคก่อนที่ Windows จะทำงาน) ดังนั้นจึงสามารถใช้เพื่อลบไฟล์ระบบแม้กระทั่งซึ่งไม่สามารถลบได้หลังจาก Windows เริ่มทำงาน

สิ่งนี้มีประโยชน์เพราะบางครั้ง Windows จะตรวจจับไฟล์และโฟลเดอร์บางอย่างว่าเป็น "พิเศษ" และแม้ว่าจะมีการกำหนดค่าไม่ให้ใช้งานมันจะยังคงล็อคไฟล์เหล่านั้นอยู่ดี ด้วยการตั้งเวลาให้ลบก่อนที่ Windows จะทำงานคุณสามารถทำไฟล์ / โฟลเดอร์เพื่อให้ Windows ไม่เห็นไฟล์เหล่านั้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.