আমি এই এক্সিকিউটেবলের জন্য পাওয়ারশেলের সাথে একটি শর্টকাট তৈরি করতে চাই:
C:\Program Files (x86)\ColorPix\ColorPix.exe
কিভাবে এই কাজ করা যেতে পারে?
আমি এই এক্সিকিউটেবলের জন্য পাওয়ারশেলের সাথে একটি শর্টকাট তৈরি করতে চাই:
C:\Program Files (x86)\ColorPix\ColorPix.exe
কিভাবে এই কাজ করা যেতে পারে?
উত্তর:
আমি পাওয়ারশেলে কোনও নেটিভ সেমিডলেট জানি না তবে আপনি পরিবর্তে কম অবজেক্ট ব্যবহার করতে পারেন:
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("$Home\Desktop\ColorPix.lnk")
$Shortcut.TargetPath = "C:\Program Files (x86)\ColorPix\ColorPix.exe"
$Shortcut.Save()
আপনি আপনার w পিডব্লিউডিতে সেট-শর্টকাট.পিএস 1 হিসাবে একটি পাওয়ারশেল স্ক্রিপ্ট সংরক্ষণ করতে পারেন
param ( [string]$SourceExe, [string]$DestinationPath )
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut($DestinationPath)
$Shortcut.TargetPath = $SourceExe
$Shortcut.Save()
এবং এটি যেমন কল
Set-ShortCut "C:\Program Files (x86)\ColorPix\ColorPix.exe" "$Home\Desktop\ColorPix.lnk"
আপনি যদি লক্ষ্য এক্সে যুক্তিগুলি পাস করতে চান তবে এটি দ্বারা করা যেতে পারে:
#Set the additional parameters for the shortcut
$Shortcut.Arguments = "/argument=value"
এর আগে $ শর্টকাট ave সেভ ()।
সুবিধার জন্য, এখানে সেট-শর্টকাট.পিএস 1-র পরিবর্তিত সংস্করণ is এটি তার দ্বিতীয় প্যারামিটার হিসাবে যুক্তিগুলি গ্রহণ করে।
param ( [string]$SourceExe, [string]$ArgumentsToSourceExe, [string]$DestinationPath )
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut($DestinationPath)
$Shortcut.TargetPath = $SourceExe
$Shortcut.Arguments = $ArgumentsToSourceExe
$Shortcut.Save()
Set-ShortCut
সিএমডিলেট এর বাক্য গঠন আরও বেশি পছন্দ হবে MKLINK
বা Set-Alias
যেখানে উপন্যাস বা লিঙ্কটি প্রথম যুক্তি হিসাবে আসে এবং তারপরে লক্ষ্য হিসাবে আসে। param ( [string]$LinkPath, [string]$TargetPath )
cmd /c mklink
সীমাবদ্ধতা .lnk ফাইলের নামকরণের জন্য খুব সীমিত অক্ষর সেট। উদাহরণস্বরূপ, একটি containing যুক্ত একটি নাম ব্যর্থ হবে। এর চারপাশে যদি আপনার আরও ভাল চরিত্রের সমর্থন প্রয়োজন হয় তবে .lnk ফাইল তৈরি করার সময় ফাইলের নাম [Web.HttpUtility]::UrlEncode()
(পরে Add-Type -AN System.Web
) করা, তারপরে পুনর্নাম-আইটেমটি ব্যবহার করে এর নাম পরিবর্তন করে নামকরণ করা উচিত।
SpecialFolders
হতেও পারে না $WshShell.SpecialFolders("Desktop")
তার বিপরীতে ), ডাব্লুস্ক্রিপ্ট অবজেক্টের পদ্ধতিটি কাজে আসতে পারে: আপনাকে সত্যিকারের পথ দেবে ডেস্কটপ ফোল্ডার, যা আপনি পরে কল করার সময় ব্যবহার করতে পারেন CreateShortcut
।
PS C:\Users\${myUser} $Shortcut = $WshShell.CreateShortcut("$C:\Users\${myUser}\home.lnk")
। এটি একটি শর্টকাট তৈরি করেছে যা উইন্ডোজ এক্সপ্লোরার থেকে দেখা যায়, তবে আমি cd home
নিজে পিএস-এ টাইপ করলে আমার একটি ত্রুটি হয়cd : Cannot find path 'C:\Users\carpb\home' because it does not exist.
PowerShell 5.0 শুরুতে New-Item
, Remove-Item
এবং Get-ChildItem
তৈরি এবং সিম্বলিক লিংক পরিচালনার সমর্থন করার জন্য উন্নত করা হয়েছে। Itemtype জন্য পরামিতি New-Item
, একটি নতুন মান গ্রহণ করে SymbolicLink। এখন আপনি নতুন আইটেমের সেমিডিলেট চালিয়ে একক লাইনে প্রতীকী লিঙ্ক তৈরি করতে পারেন।
New-Item -ItemType SymbolicLink -Path "C:\temp" -Name "calc.lnk" -Value "c:\windows\system32\calc.exe"
কেয়ারফুল হোন একটি সিম্বলিক লিঙ্ক একটি শর্টকাট থেকে আলাদা , শর্টকাট কেবল একটি ফাইল। তাদের একটি আকার রয়েছে (একটি ছোট্ট, এটি কেবল যেখানে উল্লেখ করেছেন সেখানে) এবং তাদের ব্যবহারের জন্য সেই ফাইল টাইপটিকে সমর্থন করার জন্য একটি অ্যাপ্লিকেশন প্রয়োজন। একটি প্রতীকী লিঙ্কটি ফাইল সিস্টেম স্তর এবং সমস্ত কিছুই এটিকে আসল ফাইল হিসাবে দেখায়। প্রতীকী লিঙ্কটি ব্যবহার করতে কোনও অ্যাপ্লিকেশনটির কোনও বিশেষ সহায়তার প্রয়োজন নেই।
যাইহোক আপনি যদি পাওয়ারশেল ব্যবহার করে একটি রান হিসাবে প্রশাসক শর্টকাট তৈরি করতে চান তবে আপনি ব্যবহার করতে পারেন
$file="c:\temp\calc.lnk"
$bytes = [System.IO.File]::ReadAllBytes($file)
$bytes[0x15] = $bytes[0x15] -bor 0x20 #set byte 21 (0x15) bit 6 (0x20) ON (Use –bor to set RunAsAdministrator option and –bxor to unset)
[System.IO.File]::WriteAllBytes($file, $bytes)
কেউ যদি .LNK ফাইলে অন্য কিছু পরিবর্তন করতে চান তবে আপনি অফিসিয়াল মাইক্রোসফ্ট ডকুমেন্টেশনটি উল্লেখ করতে পারেন ।
New-Item
এ "${env:AppData}\Microsoft\Windows\SendTo"
মেনু, যেমন করতে এক্সপ্লোরার পাঠান দেখানোর হবে না, এবং আইকন বা কাজ ডিরেক্টরি মত শর্টকাট বৈশিষ্ট্য কাস্টমাইজ অনুমতি দেয় না।
New-Item -ItemType SymbolicLink -RunAsAdmin ...
।
& C:\temp\calc.lnk
) সহ এটি শুরু করার সময় এটি হয়ে যায় । তুমি কি প্রত্যাশা কর ?