একটি ব্যাচ ফাইল থেকে চালিত পাওয়ারশেল স্ক্রিপ্টের জন্য স্পেসবারগুলির সাথে পরামিতিগুলি ভুলভাবে পার্স করা হয়েছে


0

আমার একটি ব্যাচ ফাইল রয়েছে যা পাওয়ারশেল স্ক্রিপ্ট চালায় এবং আমাকে স্ক্রিপ্টে দুটি পরামিতি পাস করতে হবে। আমার ব্যাচে এটির মতো দেখাচ্ছে:

powershell -executionpolicy remotesigned -File "my script.ps1" "my path1\" "my path2\somefile.txt"

এটি এখন যেভাবে রয়েছে, আমার পাওয়ারশেলির স্ক্রিপ্টের প্যারামিটারগুলি পুরোপুরি গোলযোগ পেয়েছে এবং আমি পেয়েছি:

  • আমার পথ 1 "আমার
  • path2 \ somefile.txt

আমি আমার প্যারামগুলিকে 'এবং `চরিত্রগুলিকে আবদ্ধ করার চেষ্টা করেছি এবং আমি যা চাই তা প্রায় পেয়েছি তবে দ্বিতীয় উদ্ধৃতি চরিত্রটি পাওয়ারশেল স্ক্রিপ্টে রয়ে গেছে। আমি যা পাই তা হ'ল:

powershell -executionpolicy remotesigned -File "my script.ps1" "'my path1\'" "'my path2\somefile.txt'"
  • 'আমার পথ 1 \'
  • 'আমার পথ 2 \ somefile.txt'

এবং আমি যা চাই তা এই

  • আমার পথ 1
  • আমার পথ 2 \ somefile.txt

আমি জানি যে আমি পাওয়ার শেল স্ক্রিপ্টে অপ্রয়োজনীয় উদ্ধৃতিগুলি কেটে ফেলতে পারি, তবে এটি করার আরও ভাল উপায় আছে কি? অন্য কথায়, আমি কীভাবে সেই পরামিতিগুলি বিদ্যুৎ শেলের কাছে এমনভাবে পাস করতে পারি যা তাদের বোকামি করে রাখে?

টেস্ট পাওয়ারশেল লিপি:

echo $args[0]
echo $args[1]

আমি কেবল লক্ষ্য করেছি যে প্রথম প্যারামিটারটি একটি \ চরিত্রের সাথে শেষ হয় যা পালানোর চরিত্র হিসাবে কাজ করে। এখন আমার কীভাবে এটি চারপাশে কাজ করতে হবে তা নির্ধারণ করা দরকার।
jahu

উত্তর:


0

আমি এটি বের করতে পরিচালিত। সমস্যাটি ছিল প্রথম প্যারামিটারের পিছনের স্ল্যাশ। এই স্ল্যাশটি আমার উদ্ধৃতিটি ছাড়ছিল এবং এর কারণে এটি একটি উদ্ধৃতি হিসাবে কাজ করছে না (তবে পাওয়ারশেল এখনও কিছু কারণের জন্য পরে কোনও স্থানে স্ট্রিংটি কেটে ফেলেছে)।

আমার ব্যাচের ফাইলটি স্বয়ংক্রিয়ভাবে তৈরি হয়েছিল তবে আমি প্রথম প্যারামিটারের শেষে (যা স্ল্যাশ দিয়ে শেষ হবে বলে আশা করা হয়েছিল) অন্য স্ল্যাশ যুক্ত করে এটি ঠিক করতে সক্ষম হয়েছি।

powershell -executionpolicy remotesigned -File "my script.ps1" "my path1\\" "my path2\somefile.txt"

এই সমস্যাটি সম্ভবত ব্যাচ ফাইলগুলির জন্য সুনির্দিষ্ট নয় এবং সম্ভবত কমান্ড লাইন থেকে চলমান পাওয়ারশেল স্ক্রিপ্টগুলিকেও প্রভাবিত করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.