ฉันสามารถย้ายโปรแกรมที่ติดตั้งไปยังตำแหน่งอื่นใน Windows ได้หรือไม่


27

หมายเหตุเกี่ยวกับสิ่งที่ซ้ำกันที่แนะนำ: ฉันไม่ได้มองหาการเปลี่ยนแปลงทั่วโลกของตำแหน่งการติดตั้ง ฉันต้องการย้ายโปรแกรมในแต่ละฐานโปรแกรมไปยังตำแหน่งที่ตั้งอื่น


โปรแกรมติดตั้งซอฟต์แวร์บางตัวไม่อนุญาตให้คุณเลือกตำแหน่งที่จะติดตั้งโปรแกรมซึ่งฉันคิดว่าน่ารำคาญ

มีวิธีที่ช่วยให้คุณย้ายโปรแกรมที่ติดตั้งแล้วไปยังตำแหน่งอื่นโดยควรทำการเปลี่ยนแปลงที่จำเป็นใน Registry โดยอัตโนมัติหรือไม่?

อัปเดตตามคำตอบจนถึงตอนนี้:
ฉันไม่ต้องการเข้าถึงโปรแกรมจากที่อื่นฉันต้องการให้มันอยู่ในนั้น ดังนั้นในขณะที่ฉันขอบคุณคำแนะนำของคุณลิงก์จะไม่ทำ


1
หาก SW ไม่ดีพอที่จะไม่อนุญาตให้คุณเลือกตำแหน่งการติดตั้งอาจเป็นเรื่องที่น่ารำคาญมากพอที่จะมีเส้นทาง "C: \" ที่เขียนโค้ดไว้ที่ใดที่หนึ่ง หนทางเดียวที่ปลอดภัยพอที่จะหลอก SW ได้คือคำตอบของ Jonno ที่ยัง "คิด" ติดตั้งอยู่ในตำแหน่งเริ่มต้น มันอาจเกิดขึ้นได้แม้ว่ามันจะถูกหลอก "มากเกินไป" เช่นเกี่ยวกับพื้นที่ว่างบนไดรฟ์ "ของ"
Hagen von Eitzen


@Downvoter ทำไมต้อง downvote เพราะซ้ำซ้อน? ฉันอธิบายว่าทำไมมันไม่
Joris Groosman

@JorisGroosman คุณสามารถใช้ symlinks บนไดรฟ์เดียวกันก็ไม่ได้เรื่องที่ไฟล์ที่มี located- คุณยังสามารถทำมันได้บนพื้นฐานต่อโปรแกรม คุณสามารถย้ายโฟลเดอร์โปรแกรมไปยังตำแหน่งอื่นบนไดรฟ์ของคุณ (หรือไดรฟ์อื่นทั้งหมด) จากนั้นเชื่อมโยงเพื่อให้ตำแหน่งเดิมชี้ไปที่ตำแหน่งใหม่ ซึ่งหมายความว่าคำถามของคุณซ้ำซ้อน
AStopher

3
ไม่ซ้ำกันทั้งหมด และในทางทฤษฎีอาจมีการสร้างขึ้นในทาง คนใกล้ชิดรู้สึกปลอมกับฉัน
Geek

คำตอบ:


44

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

mklink /d C:\Path\Of\Original\Folder D:\Path\Of\New\Folder

ฉันไม่ได้ตระหนักถึงเครื่องมือใด ๆ ที่จะย้ายโฟลเดอร์และเปลี่ยนเส้นทางใหม่และเชื่อมโยงและคีย์รีจิสตรีเนื่องจากมีโปรแกรมจำนวนมากที่มีการอัปเดตเวอร์ชันอย่างต่อเนื่องจึงยากที่จะบำรุงรักษา

แก้ไข: มีการร้องขอเพื่อเพิ่มวิธีการลบลิงก์สัญลักษณ์ไดเรกทอรีอย่างถูกต้อง คุณต้องระวังสิ่งนี้เนื่องจากคำสั่งที่ผิดสามารถล้างโฟลเดอร์ที่คุณเชื่อมโยงได้

วิธีการที่ดีที่สุดคือ:

  • ลบลิงก์สัญลักษณ์ไดเรกทอรีผ่าน Windows Explorer สิ่งนี้จะทำให้โฟลเดอร์เป้าหมายยังคงอยู่และลบลิงก์สัญลักษณ์เท่านั้น

หรือ

  • ใช้คำสั่ง rmdir C:\Path\To\Symbolic\Link

ไม่ได้ใช้delคำสั่งสถานที่ตั้งของไดเรกทอรีการเชื่อมโยงสัญลักษณ์ของคุณที่เป็นdelคำสั่งที่ใช้ในการลบไฟล์ การทำเช่นนี้จะเป็นไปตามเส้นทางไปยังไดเรกทอรีปลายทางกำจัดไฟล์ใด ๆ ที่ตรงกับเกณฑ์ของคุณ!


5
สิ่งนี้ต้องการให้พาร์ติชันเป็น NTFS (ซึ่งอาจเป็น) FAT32 ไม่รองรับลิงก์สัญลักษณ์
Sydius

10

คำตอบของ Jonno สร้างขึ้นถ้าพื้นที่เป็นปัญหาของคุณ symlink คือเพื่อนของคุณ มีซอฟต์แวร์บางส่วนในสมัยก่อนที่ Steam ไม่ยอมให้คุณติดตั้งเกมนอกโฟลเดอร์การติดตั้ง Steam ที่เรียกว่าsteammoverที่สร้าง symlink อัตโนมัติคุณชี้ไปที่โฟลเดอร์ที่มีโปรแกรมที่คุณต้องการย้าย (เช่น C: / Program ไฟล์) และปลายทาง (เช่น D: / โปรแกรม) และคุณสามารถย้ายไฟล์เฉพาะ


7

การย้าย / ติดตั้งแอปพลิเคชั่นเหล่านั้นไปยังตำแหน่งอื่นอาจส่งผลที่ไม่ตั้งใจ

อาจมีทั้งชุดของสมมติฐานที่นักพัฒนาใช้ตัวแบ่งนั้นถ้าคุณย้ายโปรแกรม ตัวอย่างเช่นแอปพลิเคชันที่ติดตั้งตัวเองในโปรไฟล์ผู้ใช้จะคาดหวังการเข้าถึงการเขียนแบบเต็มไปยังโฟลเดอร์การติดตั้งหรือใช้เส้นทางสัมพัทธ์ที่แย่กว่านั้นตามที่คาดว่าจะติดตั้ง

ดังนั้นวิธีที่ง่ายที่สุด (อย่างที่คนอื่นพูด) ก็คือใช้จุดเชื่อมต่อเพื่อย้ายไฟล์ที่ปล่อยให้แอปพลิเคชั่นคิดว่ามันยังอยู่ในตำแหน่งเดิมที่ติดตั้งไว้ (มันจะทิ้งโฟลเดอร์ "ผี" ไว้)

ยิ่งไปกว่านั้นจะต้องมีการวิเคราะห์แอปพลิเคชันต่อเพื่อดูว่ามีอะไรแตกต่างจากการเคลื่อนย้ายไปมามีเครื่องมือที่ช่วยในการวิเคราะห์เช่นWindows ADK (ชุดการประเมินและชุดการปรับใช้) แต่ไม่ใช่แบบอัตโนมัติ


5

วิธีที่ง่ายที่สุดที่ฉันได้พบการทำเช่นนี้คือการใช้การเชื่อมโยงส่วนขยายเชลล์ เป็นส่วนขยายเชลล์ explorer ที่ให้คุณจัดการลิงก์สัญลักษณ์และฮาร์ดลิงก์โดยไม่ต้องวางลงในบรรทัดคำสั่ง

ในกรณีของคุณคุณจะพบโฟลเดอร์ที่โปรแกรมติดตั้งบังคับให้คุณใช้ย้ายไฟล์ไปยังตำแหน่งที่คุณต้องการคลิกขวาที่ตำแหน่งใหม่และเลือก "เลือกแหล่งลิงก์" จากนั้นกลับไปที่ตำแหน่งเดิมและเลือก "Drop Link As ... " และเลือก Junction (หรือ Symbolic Link แม้ว่าฉันมักจะใช้ "Junction" เพราะบางแอพพลิเคชั่นจะไม่ทำตาม Symbolic Link)

ฉันใช้มันสำหรับสถานการณ์หลายประเภทเหล่านี้ - บ่อยครั้งที่แอปพลิเคชันจะกำหนดตำแหน่งที่บังคับสำหรับไฟล์กำหนดค่าและแคช (เช่น% appdata% \ MyProgram) บน SSD หากไฟล์เหล่านี้เขียนไปอย่างต่อเนื่องมันสามารถลดอายุการใช้งานของไดรฟ์นั้นดังนั้นฉันจะใช้สิ่งนี้เพื่อย้ายไฟล์แคชเหล่านั้นไปยังไดรฟ์แกนหมุนลดประสิทธิภาพเล็กน้อย แต่ลดการสึกหรอบน SSD


1

ไม่มีการรับประกันในระดับสากลด้วยการทำเช่นนี้ มีหลายวิธีที่โปรแกรมต่าง ๆ โดยเฉพาะอย่างยิ่งโปรแกรมที่เขียนในภาษาต่าง ๆ สามารถตรวจสอบตำแหน่งที่เก็บไฟล์ที่เรียกใช้งานได้ สิ่งต่าง ๆ เช่น Symlinks อาจมีประสิทธิภาพ แต่รู้อยู่เสมอว่าอาจมีข้อยกเว้นบางประการที่จะทำให้แตก หากคุณย้ายไฟล์ (เช่นไฟล์ที่เรียกใช้งานได้ แต่อาจเป็นไฟล์อื่น) บางโปรแกรมอาจคาดว่าจะหาไฟล์ในตำแหน่งที่ระบุและอาจทำงานแตกต่างไปจากนี้ โปรแกรมคาดว่า

สิ่งนี้เป็นจริงสำหรับระบบปฏิบัติการหลายระบบ

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