উইন্ডোজ শর্টকাট টার্গেট পরামিতি একটি @ দিয়ে শুরু


12

আমার একটি উইন্ডোজ অ্যাপ্লিকেশন রয়েছে যা আমার ডেস্কটপ শর্টকাট এবং কিছু কমান্ড-লাইন পরামিতিগুলির সাথে অনুরোধ করতে হবে।

আমি এটি কয়েক হাজার বার করেছি, তবে এটি কিছুটা আলাদা। সাধারণ কমান্ড-লাইন প্যারামিটারটি ব্যবহার করার পরিবর্তে -e 12345বা -example 12345এটি ব্যবহার করে @12345( @প্রতীক দিয়ে শুরু )।

উইন্ডোজ শর্টকাটগুলি এক্সিকিউটেবল নামের সাথে সাথে এই প্যারামিটারটি আসতে পছন্দ করে না এবং এটি সমস্ত কিছু সরিয়ে দেয়। কেন জানি না।

উদাহরণ স্বরূপ:

c:\example\example.exe @12345 -e9876"লক্ষ্য" হিসাবে, সংরক্ষণ করার সময়, সমস্ত পরামিতিগুলি সরিয়ে ফেলা হয় এবং ঠিক c:\example\example.exeলক্ষ্য হিসাবে ছেড়ে যায় ।

কিন্তু c:\example\example.exe -e9876 @12345 ঠিক কাজ করে। এটি সংরক্ষণ করে এবং বৈধতা দেয় এবং সবকিছুই ভাল।

তবে@ কমান্ডের প্রথমটি হওয়ার জন্য আমার প্যারামিটারটি দরকার । ব্যাচ ফাইলে কমান্ড মোড়ানো এবং ব্যাচকে কল করার মতো কিছু করা ছাড়াও, আমি কীভাবে @উইন্ডোজ শর্টকাটে প্রথম কমান্ড লাইন প্যারামিটার হতে পারি?


1
অন্য বিকল্পটি হ'ল প্যারামগুলি (স্বতন্ত্রভাবে) উদ্ধৃত করা, ধরে নেওয়া প্রোগ্রামটি সমর্থন করে। আকর্ষণীয় আচরণটি আমি কেবল পরীক্ষায় পেয়েছি, যদিও: প্যারামগুলি লক্ষ্য ক্ষেত্র থেকে চলে গেছে তবে তারা এখনও লক্ষ্য প্রোগ্রামে চলে গেছে! প্রকৃতপক্ষে, এখনই অদৃশ্য প্যারামগুলি সংরক্ষণ করা হয় যতক্ষণ না আপনি ফিল্ডটি আবার সম্পাদনা করেন এবং .lnkফাইলগুলি আসলে আলাদা different (ব্যাচের ফাইল হিসাবে লক্ষ্য হিসাবে পরীক্ষা করা হয়েছে যা কেবলমাত্র পেরামগুলিতে প্রবেশের প্রতিধ্বনি দেয়))
বব

উত্তর:


13

কে জানত? ... উইন্ডোজ দৃশ্যত @চরিত্রটিকে একটি সীমানা হিসাবে বিবেচনা করে । উইন্ডোজ কমান্ড কেবল কমান্ডের প্রথম উপাদানটির ব্যাখ্যা করবে ... সুতরাং এটি কার্যকরভাবে বাকীগুলি কেটে দেয়। স্পষ্টতই, আপনি প্রতীকটি ^থেকে বাঁচার আগে সরবরাহ সরবরাহ করে আচরণটি ওভাররাইড করতে পারেন ।

অর্থাত

c:\example\example.exe ^@12345 -e9876


3
হে! এটি কাজ করে! কৌতূহলের বাইরে, পৃথিবীতে আপনি কীভাবে এর উত্তর খুঁজে পেয়েছিলেন?
মার্ক হেন্ডারসন

3
হ্যাপার-বছরের অন্ধকার পোস্টিং। কিছু ব্যক্তি এমন নথিগুলির বিষয়ে উল্লেখ করেছেন যা এখন আর নেই (বা খুঁজে পাওয়া সহজ নয়) এবং সেই কয়েকটি টিডবিট উল্লেখ করেছিলেন। তিনি ভালো জিনিস উল্লেখ $এবং %কিছু অক্ষর আছে যা অন্যান্য বিষয় হতে পারে। আপনি একই ^চরিত্রটি ব্যবহার করে পালাতে পারেন । আপনি ^^যেমন প্রত্যাশা করতে পারেন তেমন করে পালিয়েও পালাতে পারেন।
দ্যকম্পউইজ

4
@ মার্কহেন্ডারসন দ্য ক্যারেট প্রতীক "^" হ'ল স্ট্যান্ডার্ড "পরবর্তী অক্ষর থেকে মুক্তি" প্রতীকটি তখনকার পুরো WIN32 (এবং পরে 64৪-বিট) এপিআই দ্বারা ব্যবহৃত হয়েছে (যদি আমি সঠিকভাবে প্রত্যাহার করি) কমপক্ষে এনটি ৩.৩ (হ্যাঁ: আমি বুড়ো হয়ে যাচ্ছি) )। এটি উইন্ডোজের ঠিক এমন কোনও জায়গায় কাজ করে যেখানে আপনি কমান্ড-লাইন সরবরাহ করতে পারেন: সিএমডি-স্ক্রিপ্ট / প্রম্পট, উইন্ডোজ + আর রান বাক্স, শর্ট-কাটস, পরিষেবাদি ও তফসিলযুক্ত কাজের সাথে যুক্ত কমান্ড-লাইনে, কেবল একটি নাম দেওয়ার জন্য কয়েক।
টনি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.