PowerShell का उपयोग करके कठिन और मुलायम लिंक बनाना




5 Answers

विंडोज 10 (और सामान्य रूप से पावरहेल 5.0) आपको न्यू-आइटम सेमीडलेट के माध्यम से प्रतीकात्मक लिंक बनाने की अनुमति देता है।

उपयोग:

New-Item -Path C:\LinkDir -ItemType SymbolicLink -Value F:\RealDir

या आपकी प्रोफाइल में:

function make-link ($target, $link) {
    New-Item -Path $link -ItemType SymbolicLink -Value $target
}

New-Item साथ लिंक बनाते समय व्यवस्थापक विशेषाधिकारों की आवश्यकता नहीं होने के लिए डेवलपर मोड चालू New-Item :

powershell symlink

क्या PowerShell 1.0 यूनिक्स विविधता के समान हार्ड और सॉफ्ट लिंक बना सकता है?

यदि यह नहीं बनाया गया है, तो क्या कोई मुझे उस साइट पर इंगित कर सकता है जिसमें एक ps1 स्क्रिप्ट है जो इसकी नकल करती है?

यह किसी भी अच्छे खोल, आईएमएचओ का एक आवश्यक कार्य है। :)




विंडोज 7 में, आदेश है

fsutil hardlink create new-file existing-file

PowerShell इसे पूर्ण पथ (सी: \ विंडोज \ system32) या एक्सटेंशन (.exe) के बिना पाता है।







मैंने एक पावरशेल मॉड्यूल लिखा है जिसमें एमकेLINK के लिए देशी रैपर हैं। https://gist.github.com/2891103

इसके लिए कार्य शामिल है:

  • नई सिमलिंक
  • नई hardlink
  • नई जंक्शन

MKLINK आउटपुट को कैप्चर करता है और आवश्यक होने पर उचित PowerShell त्रुटियों को फेंकता है।




मैंने बाहरी सहायता के बिना यह आसान तरीका पाया। हां, यह एक पुरातन डॉस कमांड का उपयोग करता है लेकिन यह काम करता है, यह आसान है, और यह स्पष्ट है।

$target = cmd /c dir /a:l | ? { $_ -match "mySymLink \[.*\]$" } | % `
{
    $_.Split([char[]] @( '[', ']' ), [StringSplitOptions]::RemoveEmptyEntries)[1]
}

यह प्रतीकात्मक लिंक विशेषता के साथ सभी प्रविष्टियों को खोजने के लिए डॉस डीआईआर कमांड का उपयोग करता है, विशिष्ट लिंक नाम पर फ़िल्टर "[]" ब्रैकेट के बाद फ़िल्टर करता है, और प्रत्येक के लिए - अनुमानतः एक-निष्कर्ष केवल लक्ष्य स्ट्रिंग।




Related