Windows7 hardlink melalui dua drive yang berbeda

13

Saya mencoba membuat hardlink pada drive C saya yang mengarah ke file pada drive D saya. Saya membuka terminal dengan hak istimewa Administrator dan mencoba yang berikut:

C:\Users\sandro>mklink /H _vimrc D:\sandro-desktop\.vimrc

Kesalahan yang saya dapatkan adalah: Sistem tidak dapat memindahkan file ke disk drive lain.

Ketika saya mencoba softlink saya mendapatkan masalah yang karena beberapa alasan perubahan pada isi tautan tidak tercermin pada file yang ditargetkan.

Terima kasih!

Sandro
sumber
Bagaimana kalau _vimrcdi tujuan bukan .vimrc?
ulidtko
Bukan jawaban, tetapi Anda akan menemukan informasi yang baik di sini, schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html .
therube

Jawaban:

21

Tautan keras adalah fitur sistem file yang tidak dapat melewati batas sistem file. Anda tidak dapat menautkan file pada C: ke D: karena mereka adalah sistem file yang terpisah. Mereka masing-masing mungkin berisi jenis file sistem yang sama (mis. NTFS) tetapi mereka adalah sistem file yang terpisah.

Mike Fitzpatrick
sumber
Saya percaya s / berbeda / terpisah / akan lebih tepat.
user1686
@grawity: Ya, setuju. Sudah diedit.
Mike Fitzpatrick
Apakah Anda punya ide tentang bagaimana saya bisa mengatasi ini?
Sandro
Anda dapat memigrasi profil pengguna Windows 7 Anda (atau hanya folder My Documents) ke D, maka hardlink akan berfungsi. Jika Anda melakukan ini, pastikan Anda menggunakan metode yang tepat di Windows 7 (umumnya melalui tab properti) - jangan secara manual memindahkan folder dari C: ke D:
Mike Fitzpatrick
Satu-satunya kasus ketika hardlink antara C: dan D: akan berfungsi adalah ketika mereka berada di sistem file yang sama, misalnya subst D: C:\utils(tentu saja, dibuat menggunakan Registry untuk membuat ini substpersisten).
miroxlav
3

Jika windows 7, Anda dapat menggunakan symlink - steammover melakukan hal itu

Journeyman Geek
sumber
Bagaimana itu berbeda dari apa yang saya lakukan sekarang? Saya rasa saya bisa mencobanya :)
Sandro
symlinks bekerja di antara direktori - beberapa opsi terkait persimpangan yang lebih lama tidak. Selain itu, karena ada ujung depan yang rapi, yang memberi tahu Anda perintah, lebih mudah untuk mengetahui apa yang dilakukan. Saya kebanyakan menggunakan XP, jadi saya tidak yakin apakah ini 'lebih baik' tetapi dari apa yang saya baca, itu harus melakukan pekerjaan yang Anda perlukan dengan yang paling tidak keributan
Journeyman Geek
2
@ Carlos: Detail teknis: dua hardlink menunjuk ke inode yang sama (pada Unix; sangat mirip di Windows NTFS), yang hanya bekerja dalam sistem file tunggal. Dua hardlink sepenuhnya identik; tidak ada "asli". Symlink, di sisi lain, menunjuk ke jalur , yang bisa berupa teks apa pun sebenarnya.
user1686
Jika begitulah cara kerja symlink maka mengapa ketika saya membuat perubahan ke satu file yang lain tidak menunjukkan perubahan?
Sandro
-3

Coba ini:

mklink /H "C:\Users\sandro_vimrc" "D:\sandro-desktop\.vimrc"

Saya kira ini ada hubungannya dengan nama file target. Coba gunakan kutipan di sekitar tautan target.

Saya pikir tautan Anda harus menjadi jalur penuh juga.


sumber
Saya mencoba itu dan masih belum ada. Terima kasih untuk idenya!
Sandro
Itu mungkin nama-dot target. Apakah ini berfungsi untuk file lain?