কীভাবে সিএমডি থেকে শর্টকাট করবেন?


76

.lnkকমান্ড লাইন ইউটিলিটিগুলি ব্যবহার করে আমি কীভাবে অন্য ফাইল বা এক্সিকিউটেবলের শর্টকাট ফাইল ( ) তৈরি করতে পারি ?


1
এটি করার কোনও সহজ উপায় বলে মনে হয় না। কিছু লোকের কাছে লিখিত সরঞ্জাম রয়েছে যা আপনাকে এটি করতে দেয়; এখানে তাদের একটি । "উইন্ডোজ শর্টকাট কমান্ড লাইন তৈরি করে" এর জন্য গুগল অনুসন্ধান কিছু অন্যান্যকে সরিয়ে দেয়। (আমি তাদের
কেথ থম্পসন

@iglvzx - আপনি যে সম্পাদনাটি করেছেন তা সঠিক কিনা তা আমি নিশ্চিত নই। আমি মনে করি না যে শান্তনুকে একটি ব্যাচের স্ক্রিপ্ট দরকার - এটি অন্য * .exe ফাইলের সাথে * .lnk তৈরির যে কোনও উপায়ে হতে পারে।
আলফাসিন

@ আলফাসিন আমি যোগ করেছি (.ink file), কারণ কিছু বিভ্রান্তি ছিল। শান্তনুর মন্তব্য প্রতিবিম্বিত করতে আমি প্রশ্নটি সংশোধন করেছি। আপনি 'শর্টকাট' তৈরির কোনও উপায় প্রদান করার সময় এটি নির্দিষ্ট প্রশ্নের উত্তর দেয় না।
iglvzx

1
নিম্নলিখিতটি ব্যবহার করুন: পাওয়ারশেল "$ s = (নতুন-অবজেক্ট -কম ডাব্লু স্ক্রিপ্ট। শেল)। ক্রিটশার্টকুট ('% ব্যবহারকারী প্রোফাইলে% \ ডেস্কটপ \ শর্টকাট.লনক');। S.TargetPath = 'সি: \ উইন্ডোজ \'; $ গুলি .Save () "স্পষ্টতই, আপনার শর্টকাট পাথ এবং লক্ষ্য পথের সাথে যথাক্রমে" '% ব্যবহারকারী প্রোফাইল% pr ডেস্কটপ \ শর্টকাট.লনক "এবং" সি: \ উইন্ডোজ \ "প্রতিস্থাপন করুন।
কাপলিনেটর

@ অ্যাডক্লিনেটর যেমন টাইপ করা হয়েছে, আপনার পরামর্শ কার্যকর হয় না।
প্লনি

উত্তর:


53

এই সাইটে খুব দরকারী কিছু তথ্য রয়েছে: http://ss64.com/nt/shortcut.html

দেখে মনে হচ্ছে shortcut.exeকিছু রিসোর্স কিটে এমন কিছু আছে যা আমার কাছে নেই।
অন্যান্য অনেক সাইট যেমন উল্লেখ করেছে, ব্যাচের ফাইল থেকে এটি করার কোনও অন্তর্নির্মিত উপায় নেই।

তবে আপনি এটি কোনও ভিবি স্ক্রিপ্ট থেকে করতে পারেন:

নীচে ভিবিস্ক্রিপ্টের sectionsচ্ছিক বিভাগগুলিতে মন্তব্য করা হয়েছে:

Set oWS = WScript.CreateObject("WScript.Shell")
sLinkFile = "C:\MyShortcut.LNK"
Set oLink = oWS.CreateShortcut(sLinkFile)
    oLink.TargetPath = "C:\Program Files\MyApp\MyProgram.EXE"
 '  oLink.Arguments = ""
 '  oLink.Description = "MyProgram"   
 '  oLink.HotKey = "ALT+CTRL+F"
 '  oLink.IconLocation = "C:\Program Files\MyApp\MyProgram.EXE, 2"
 '  oLink.WindowStyle = "1"   
 '  oLink.WorkingDirectory = "C:\Program Files\MyApp"
oLink.Save

সুতরাং, যদি আপনার সত্যিই এটি করা আবশ্যক , তবে আপনি আপনার ব্যাচের ফাইলটিকে ডিস্কে ভিবি স্ক্রিপ্ট লিখতে, অনুরোধ করতে এবং এটি আবার সরিয়ে ফেলতে পারেন। উদাহরণস্বরূপ, যেমন:

@echo off
echo Set oWS = WScript.CreateObject("WScript.Shell") > CreateShortcut.vbs
echo sLinkFile = "%HOMEDRIVE%%HOMEPATH%\Desktop\Hello.lnk" >> CreateShortcut.vbs
echo Set oLink = oWS.CreateShortcut(sLinkFile) >> CreateShortcut.vbs
echo oLink.TargetPath = "C:\Windows\notepad.exe" >> CreateShortcut.vbs
echo oLink.Save >> CreateShortcut.vbs
cscript CreateShortcut.vbs
del CreateShortcut.vbs

উপরের স্ক্রিপ্টটি চালানো আমার ডেস্কটপে একটি নতুন শর্টকাটে ফলাফল:
ফলাফল শর্টকাট

বেনামে অবদানকারীদের কাছ থেকে একটি আরও সম্পূর্ণ স্নিপেট এখানে দেওয়া হয়েছে (একটি ছোটখাট ফিক্স সহ আপডেট করা হয়েছে):

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
SET LinkName=Hello
SET Esc_LinkDest=%%HOMEDRIVE%%%%HOMEPATH%%\Desktop\!LinkName!.lnk
SET Esc_LinkTarget=%%SYSTEMROOT%%\notepad.exe
SET cSctVBS=CreateShortcut.vbs
SET LOG=".\%~N0_runtime.log"
((
  echo Set oWS = WScript.CreateObject^("WScript.Shell"^) 
  echo sLinkFile = oWS.ExpandEnvironmentStrings^("!Esc_LinkDest!"^)
  echo Set oLink = oWS.CreateShortcut^(sLinkFile^) 
  echo oLink.TargetPath = oWS.ExpandEnvironmentStrings^("!Esc_LinkTarget!"^)
  echo oLink.Save
)1>!cSctVBS!
cscript //nologo .\!cSctVBS!
DEL !cSctVBS! /f /q
)1>>!LOG! 2>>&1


এটি কোনও ফাইলের শর্টকাটের জন্য দুর্দান্ত কাজ করে। যাইহোক, আমার যখন ভেরিয়েবল Esc_LinkTarget এর প্যারামেন্ট ফোল্ডারটি পাওয়ার চেষ্টা করে এমন পরিবেশের পরিবর্তনশীল থাকে তখন কোনও ফোল্ডারের শর্টকাটের জন্য এটি ব্যবহার করতে আমার একটি অদ্ভুত সমস্যা হয়। (% সিডি% like এর মতো কিছু কাজ করে না, তবে% সিডি% কাজ করে)। শর্টকাট লক্ষ্য প্রকারটি 'ফোল্ডার' এর পরিবর্তে একটি 'ফাইল' হয়ে যায়
EDM

1
@ অ্যাডমন্ড আকর্ষণীয় সমস্যা। আমার এটি দেখার জন্য সময় নেই, তবে আমি অনুমান করব যে একটি পিছনের স্ল্যাশ একটি পার্থক্য করতে পারে।
ডের হচস্টাপলার

নোট: আপনি ব্যবহার SET Esc_LinkTarget=%0তারপর আপনি সরাতে "থেকেecho oLink.TargetPath = oWS.ExpandEnvironmentStrings^(!Esc_LinkTarget!^)
ব্ল্যাক

প্রতিটি মৃত্যুদণ্ডের জন্য একটি ভিএসক্রিপ্ট তৈরি করার পরিবর্তে Wscript.Argumentsকমান্ড লাইন আর্গুমেন্টগুলি ব্যবহার করা আরও ভাল হত ... lol
সানকারন

22

পাওয়ারশেল ব্যবহার করে এখানে একটি অনুরূপ সমাধান রয়েছে (আমি জানি, আপনি সম্ভবত আপনার পুরো ব্যাচ ফাইলটি পিএসে আবার লিখতে পারেন, তবে আপনি যদি এটি পেতে চান তবে ...)

set TARGET='D:\Temp'
set SHORTCUT='C:\Temp\test.lnk'
set PWS=powershell.exe -ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile

%PWS% -Command "$ws = New-Object -ComObject WScript.Shell; $s = $ws.CreateShortcut(%SHORTCUT%); $S.TargetPath = %TARGET%; $S.Save()"

আপনার ফাইলের পিএসের পথটি আপনাকে স্পষ্ট করে বলতে হবে, তবে এটি কার্যকর হওয়া উচিত should কিছু অতিরিক্ত বৈশিষ্ট্য রয়েছে যা আপনি এই বস্তুর মাধ্যমে ম্যাঙ্গেল করতে পারেন:

Name             MemberType Definition                             
----             ---------- ----------                             
Load             Method     void Load (string)                     
Save             Method     void Save ()                           
Arguments        Property   string Arguments () {get} {set}        
Description      Property   string Description () {get} {set}      
FullName         Property   string FullName () {get}               
Hotkey           Property   string Hotkey () {get} {set}           
IconLocation     Property   string IconLocation () {get} {set}     
RelativePath     Property   string RelativePath () {set}           
TargetPath       Property   string TargetPath () {get} {set}       
WindowStyle      Property   int WindowStyle () {get} {set}         
WorkingDirectory Property   string WorkingDirectory () {get} {set} 

ট্রিক্স : আপনি যদি বিশ্বাস করেন যে এটি করার আরও ভাল উপায় রয়েছে তবে এটি একটি নতুন উত্তর হিসাবে পোস্ট করুন (উপযুক্ত হলে এটির সাথে লিঙ্ক করুন)।
স্কট

17

শর্টকাট.এক্সি ছাড়াও, আপনি শর্টকাট তৈরি করতে নীআরসিএমডি-র কমান্ড লাইন সংস্করণও ব্যবহার করতে পারেন। http://nircmd.nirsoft.net/shortcut.html


11
আমি নির্সফ্টের কাছ থেকে প্রায় সমস্ত কিছুই পুনরুদ্ধার করি, এটি চূড়ান্ত গীকের টুলসেট
সেই ব্রাজিলিয়ান গায়

10

এমকিলিঙ্ক কমান্ড কীভাবে ব্যবহার করবেন? সি: \ উইন্ডোজ \ সিস্টেম 32> এম কে লিঙ্ক একটি প্রতীকী লিঙ্ক তৈরি করে।

এমকে LINK [[/ / ডি] | [/ এইচ] | [/ জে]] লিঙ্ক লক্ষ্য

    /D      Creates a directory symbolic link.  Default is a file
            symbolic link.
    /H      Creates a hard link instead of a symbolic link.
    /J      Creates a Directory Junction.
    Link    specifies the new symbolic link name.
    Target  specifies the path (relative or absolute) that the new link
            refers to.

10
ভাল ধারণা, কিন্তু symlinks শর্টকাট এর চেয়ে কিছুটা আলাদা আচরণ করবে বলে মনে হচ্ছে। যদি আমি ভিজ্যুয়াল স্টুডিও সমাধানে একটি শর্টকাট তৈরি করি তবে এটি সমস্ত তুলনামূলকভাবে প্যাথড-প্রকল্পগুলি সঠিকভাবে খোলে। যাইহোক, যদি আমি একই সমাধানটি একটি সিমলিংকের মাধ্যমে খুলি, তবে ওয়ার্কিং ডিরেক্টরিটি সেই পথের যেখানে সিমলিংকটি বাস করে, সেই পথটিকে নয় যেখানে এটি নির্দেশ করে।
ওয়াল্টার স্ট্যাবস

7

আমাদের এখানে সমস্ত আলোচনার পরে, এটি আমার প্রস্তাবিত সমাধান: ডাউনলোড করুন: http://optimumx.com/download/Shortcut.zip আপনার ডেস্কটপে এটি এক্সট্রাক্ট করুন (উদাহরণস্বরূপ)। এখন, ধরুন আপনি স্ক্রাম.পিডিএফ (ডেস্কটপেও) নামে একটি ফাইলের শর্টকাট তৈরি করতে চান:
1. সিএমডি খুলুন এবং ডেস্কটপ ফোল্ডারে যান
২ রান করুন:Shortcut.exe /f:"%USERPROFILE%\Desktop\sc.lnk" /a:c /t:%USERPROFILE%\Desktop\scrum.pdf

এটি আপনার ডেস্কটপে sc.lnk নামে একটি শর্টকাট তৈরি করবে যা মূল ফাইলটিতে প্রদর্শিত হবে (scrum.pdf)


এটি শর্টকাট নয়; এটি কেবল একটি ব্যাচের ফাইল যা একটি নির্দিষ্ট প্রোগ্রামের জন্য আবেদন করে।
কিথ থম্পসন

1
একটি শর্টকাট হ'ল আপনি উইন্ডোজ থেকে চালিত, যেহেতু তিনি শিরোনামে সিএমডি ব্যবহার করেছিলেন এবং "কমান্ড-লাইন" ট্যাগ রেখেছিলেন আমি ধরে নিয়েছিলাম যে তিনি এটি সিএমডি থেকে চালাতে চান। আপনি যখন সিএমডি (ডস লাইক) এনভিতে চালান তখন একটি ব্যাচ ফাইল উইন্ডোজ "শর্টকাট" এর সমতুল্য।
আলফাসিন

2
যেহেতু তিনি প্রশ্নের শরীরে "শর্টকাট (.lnk ফাইল)" রেখেছেন, তাই আমি ধরে নিয়েছিলাম যে তিনি একটি আসল শর্টকাট তৈরি করতে চান।
কিথ থম্পসন

1
স্পষ্টতার জন্য দুঃখিত আমি আমার ডেস্কটপে একটি আইকন রাখতে চেয়েছিলাম যা আমি সেমিডিতে তৈরি করেছি যা কোনও এক্সাই ফাইলের শর্টকাট হতে পারে
শান্তানু

আমি শেষ পর্যন্ত বুঝতে পেরেছি (ধীর চিন্তাবিদ - আপনি কী করতে পারেন ...) আমি আমার উত্তর পরিবর্তন করেছি changed আশা করি এটা সাহায্য করবে!
আলফাসিন

0

এই নিখরচায় প্রোগ্রামটির কার্যকারিতা প্রয়োজন http://www.nirsoft.net/utils/nircmd2.html : (ওয়েব পৃষ্ঠার নমুনা) "Create a shortcut to Windows calculator under Start Menu->Programs->Calculators nircmd.exe shortcut "f:\winnt\system32\calc.exe" "~$folder.programs$\Calculators" "Windows Calculator"

আমার নিজস্ব নমুনাটি চেষ্টা করুন: nircmd.exe শর্টকাট "c: \ উইন্ডোজ \ system32 \ ক্যালক.এক্সে" "~ $ ফোল্ডার.ডেস্কটপ $" "উইন্ডোজ ক্যালকুলেটর"


0

আমি জানি এই বিষয়টি পুরানো তবে আমি আমার পক্ষে সহজ সরল সমাধানটি সরবরাহ করতে চাই।

আমি প্রথমে .ico ফাইলটি আমার সি: ড্রাইভে অনুলিপি করেছিলাম। তারপরে আমি আমার ডেস্কটপে শর্টকাট তৈরি করে আইকনটি আমার সি: ড্রাইভের আইকো ফাইলে সেট করেছিলাম। তারপরে আমি আমার ব্যবহারকারীদের অ্যাক্সেস রয়েছে এমন একটি নেটওয়ার্ক শেয়ারে .ico এবং শর্টকাট উভয়ই অনুলিপি করেছি। সেখানে একবার আমি নীচের ব্যাচ ফাইলটি আইকো এবং .url ব্যবহারকারীদের উইন্ডোজ 7 ডেস্কটপে অনুলিপি করতে লিখলাম। এটি সমস্ত ব্যবহারকারীর ডেস্কটপে শর্টকাট তৈরি করে এবং শর্টকাট তৈরি করার সময় আমি সেট করা আইকন ফাইলটি রাখে। আমি আশা করি এটা কারো সাহায্যে লাগবে.

@echo off
Copy "\\sharename\folder\icon.ico" "C:\"
pause
copy "\\sharename\folder\shortcut.url" "C:\Users\All Users\Desktop"
pause

যদি এটি গ্রহণ করার পদ্ধতিটি হয় তবে আসল শর্টকাট (.lnk) তৈরি করা ভাল যা এতে আইকনটি এম্বেড করে। সেই শর্টকাটটি তখন সর্বত্র অনুলিপি করা যায়।
এলপিচিপ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.