Di Windows 7, bagaimana saya bisa mengecek apakah suatu file merupakan tautan simbolik atau tidak, apakah suatu folder merupakan persimpangan atau tidak, dan bagaimana saya dapat memeriksa di mana mereka menunjuk (jika ada symlink / persimpangan). Baik di Explorer maupun di baris Perintah.
Sangat penting untuk memiliki cara untuk melakukannya dari baris perintah, untuk mengetahui cara menduplikasi tautan simbolik di komputer lain ketika Anda ingin membuat replika pohon folder yang tepat.
Jika saya klik kanan pada file dan centang "Properti", saya tidak dapat menemukan indikasi bahwa itu adalah tautan simbolik.
windows-7
command-line
symbolic-link
BearCode
sumber
sumber
dir /a
lalu tekan Enter. Jika Anda tidak menyertakan / a, windows tidak mencantumkan titik persimpangan. Anda dapat mencoba perbedaan antaradir
dandir /a
di direktori\Users\YourUsername
Disalin dari StackOverFlow , saya hanya menggunakan baris ini, dan berfungsi
fsutil reparsepoint query "folder name" | find "Symbolic Link" >nul && echo symbolic link found || echo No symbolic link
Penjelasan :
Dari MSDN tentang FSUtil: Melakukan tugas yang terkait dengan tabel alokasi file (FAT) dan sistem file NTFS, seperti mengelola titik reparse, mengelola file jarang, atau menurunkan volume. Jika digunakan tanpa parameter, fsutil menampilkan daftar sub-perintah yang didukung.
Untuk penggunaan kita, kita hanya peduli bahwa itu menghasilkan garis yang memiliki "Link Simbolik" di dalamnya, jika itu simbolis, yang kita lalu
find
, dan jikafind
berhasil, kita output satu hal, jika tidak, kita output sesuatu yang lain.Catatan :
sumber
Dengan menggunakan PowerShell, setidaknya pada OS Windows, Anda dapat menemukan tautan simbolik di direktori mana pun, seperti berikut ini:
Alternatif yang lebih ringkas adalah menggunakan
Get-ChildItem
aliasls
:Dan Anda dapat memperoleh informasi yang relevan pada tautan simbolis dengan melakukan salah satu dari yang berikut:
Dapatkan item file dan hasilkan properti Target -nya . Target menjadi "nilai" dari tautan simbolik. Selain itu, metode atau tanda tangan perintah untuk membuat symlink ketika menyandingkan antara sistem operasi, nama argumen dari: 'target', 'path' dan / atau 'value' dapat memiliki arti yang berbeda dari metode tanda tangan lain pada OS yang berbeda.
Dapatkan item file dan hasilkan properti LinkType -nya . Item dengan nilai LinkType dari SymbolicLink berarti simbolnya.
Dapatkan item file dan output properti Mode -nya . Item dengan
l
nilai Mode menunjukkan bahwa itu adalah tautan simbolik.Dapatkan item file dan hasilkan properti Attributes -nya . Item yang dikaitkan dengan nilai ReparsePoint mungkin menunjukkan tautan simbolis.
sumber
Jangan gunakan
fsutil
untuk memeriksa apakah suatu item merupakan tautan simbolik atau bukan. Pada awalnya karena tingkat kesalahan memiliki kesalahan, jadi kadang-kadang, itu tetap ke 0 dan folder nyata dipandang sebagai tautan simbolis. Tingkat kesalahan tidak bisa dipercaya.Masalahnya
find
adalah karenafind "Symbolic Link"
dimungkinkan dalam bahasa Inggris, tetapi tidak dalam bahasa lain.Cara yang baik adalah mencari dari atribut:
Atribut yang didapat dengan% a adalah "drahscotlep" dan "l" untuk tautan simbolik.
sumber
Berikut ini adalah skrip cygwin bash untuk menyimpan symlink, tambahkan folder favorit Anda ke baris pertama
sumber
Dalam Powershell:
sumber
semua kredit ke @SecurityAndPrivacyGuru , [cmd]
skrip batch lengkap / fungsi yang membaca symlink {| s di folder} dan daftar keluaran dengan mereka dan jalur target mereka
sumber
Jika Anda benar-benar ingin menggunakan fsutil, Anda dapat menggunakan kedua teknik untuk mencegah kegagalan dari errolvel. (Saya menggunakan ver> nul untuk mengatur ulang tingkat kesalahan)
sumber