ทำไมความแตกต่างระหว่าง Run Command และ Shortcut


1

ฉันบ่อยครั้ง (ทุกสองสามวัน) สร้างจุดคืนค่าในระบบ Windows ของฉันเพื่อเรียกใช้งานมุมมอง "เวอร์ชันไฟล์" ของระบบไฟล์ การใช้ UI มีการกดปุ่มจำนวนมากเพื่อไปยังจุดที่คุณสามารถสร้างจุดคืนค่าด้วยตนเองได้ ฉันพบว่าแอปเพล็ตที่ใช้คือ: SystemPropertiesProtection.exe; ดังนั้นฉันทดสอบในคำสั่ง Run ... (จากเมนู Start) และทำงานได้ดี

ดังนั้นฉันจึงสร้างทางลัดต่อไปและในระบบ 32 บิต Windows 7 ของฉันก็ทำงานได้ดีเช่นกัน อย่างไรก็ตามเมื่อฉันเอาทางลัดไปยังระบบ Windows 64 บิตของฉัน (และปรับสำหรับตำแหน่งที่แตกต่างกันของปฏิบัติการ) มันจะเปิดกล่องโต้ตอบ แต่แท็บ "การป้องกันระบบ" หายไป! ฉันใช้ทางลัดไม่ได้ อย่างไรก็ตามถ้าฉันกลับไปใช้คำสั่ง Run มันใช้ได้ดี!

เกิดอะไรขึ้น? ทำไมถึงแตกต่าง

TIA เปาโล

คำตอบ:


1

อย่างไรก็ตามเมื่อฉันเอาทางลัดไปยังระบบ Windows 64 บิตของฉัน (และปรับสำหรับตำแหน่งที่แตกต่างกันของปฏิบัติการ)

ปัญหาของคุณคือคุณไม่จำเป็นต้องเปลี่ยนตำแหน่งของไฟล์ที่เรียกทำงานได้ บน Windows 64 บิตโฟลเดอร์ System32 เป็นจริงที่ไบนารี 64 บิตอาศัยอยู่ ไดเรกทอรี SysWOW64 เป็นที่ซึ่งไบนารี 32 บิตอาศัยอยู่ การรันเวอร์ชัน 32 บิตSystemPropertiesProtection.exeบน Windows 64 บิตจะไม่มีSystem Propertiesแท็บดังที่คุณสังเกต

ไม่ว่าคุณจะอยู่ใน 32 บิตหรือ Windows 64-bit, เส้นทางที่คุณควรจะใช้เพื่อเรียกใช้SystemPropertiesProtection.exeควรจะเป็น:

%SystemRoot%\System32\SystemPropertiesProtection.exe


ขอบคุณ Ryan ฉันจะลองทำสิ่งนี้เมื่อฉันกลับบ้านคืนนี้ (เวลาของฉัน)
PaoloFCantoni

ขออภัยในความล่าช้า - นี่เป็นกลอุบาย! เรียนรู้สิ่งใหม่ทุกวัน!
PaoloFCantoni

1

ดูเหมือนความแตกต่างระหว่างคำสั่งเรียกใช้และทางลัดคือคำสั่งเรียกใช้รุ่น 32 บิต ฉันลองเรียกใช้> "SystemPropertiesProtection" บนเครื่อง Windows 64 บิตของฉันและยังค้นหาและเปิดรุ่น 32 บิตใน C: \ Windows \ System32

แก้ไข:ดูเหมือนความแตกต่างระหว่างคำสั่งเรียกใช้และทางลัดคือคำสั่งเรียกใช้รุ่น 64 บิต (ซึ่ง windows เก็บไว้ในโฟลเดอร์ system32 สำหรับความเข้ากันได้ย้อนหลัง) รุ่นอื่น ๆ ในโฟลเดอร์ WoW64 เป็นรุ่น 32 บิต ฉันพยายาม Run> "SystemPropertiesProtection" ใน 64 บิต Windows 7 เครื่องของฉันและมันก็ยังค้นหาและเปิดรุ่น 64 บิตใน C:

ขอบคุณ Ryan!


การคัดลอกใน System32 ไม่ใช่รุ่น 32 บิตเป็นรุ่น 64 บิต
Ryan Bolger

0

ฉันไม่เคยใช้วิธีนี้มาก่อน มันมีแนวโน้มที่จะทำลาย

ความคิดที่ดีกว่าคือการใช้สคริปต์ VB

If WScript.Arguments.Count = 0 Then
    Set objShell = CreateObject(“Shell.Application”)
objShell.ShellExecute “wscript.exe”, WScript.ScriptFullName & ” Run”, , “runas”, 1
Else
    GetObject(“winmgmts:\\.\root\default:Systemrestore”).CreateRestorePoint “description”, 0, 100
End If

บันทึกลงในสคริปต์ VB และคุณสามารถดับเบิลคลิกเพื่อสร้างจุดคืนค่า สร้างทางลัดจากมันและคุณสามารถตรึงมันไว้ที่ Startmenu หรือทาสก์บาร์

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