কিভাবে একটি ব্যাচের স্ক্রিপ্টে পিসি নাম সন্ধান করবেন?


18

আমার ব্যাচ প্রোগ্রামটি চালাবার পিসির নামটি কীভাবে খুঁজে পাব?

আমি এমন একটি পিসির নাম খুঁজতে চাই যা আমার ব্যাচ প্রোগ্রামটি চালাচ্ছে এবং এটি পরিবর্তনশীল হিসাবে সঞ্চয় করতে সক্ষম হবে। কোন সাহায্য?


4
আপনি কোনও সিস্টেমের হোস্টনামটি সিএমডি বা পাওয়ারশেল কমান্ড লাইন থেকে পুনরুদ্ধার করতে পারেন hostname। আপনার এটি কোনও ভার হিসাবে সংরক্ষণ করার দরকার নেই, এটি যেমন প্রয়োজন ঠিক তেমনভাবে ইনলাইন করুন।
ফ্রাঙ্ক থমাস

@ ফ্র্যাঙ্কথোমাস - আপনি এর পরিবর্তে এটিকে কেন (সম্ভবত একটি সংক্ষিপ্ত উদাহরণ সহ) উত্তর সরবরাহ করবেন না?
নিফলে

2
hostnameএটি একটি এক্সপি, এবং এটি কনসোলটিতে মেশিনের নাম আউটপুট করার সময়, এটি একটি ব্যাচের ফাইলে ক্যাপচার করা অপ্রয়োজনীয় হবে। ভাগ্যক্রমে, ইতিমধ্যে একটি পরিবেশ পরিবর্তনশীল সেট রয়েছে, এবং ComputerNameসাধারণ উইন্ডোজ সিস্টেমে ব্যবহারের জন্য উপলব্ধ ( ) উপলব্ধ রয়েছে ।
বিকাশ গুপ্ত 11

উত্তর:


10

বিকাশ গুপ্তা যেমন উত্তর দিয়েছেন, আপনি প্রাক-সংজ্ঞায়িত %COMPUTERNAME%পরিবেশ পরিবর্তনশীল ব্যবহার করতে পারেন যা ইতিমধ্যে কম্পিউটারের নাম রয়েছে that ব্যবহারিক অবস্থান থেকে, আপনার যা প্রয়োজন তা হ'ল এটি।

যাইহোক, কোনও ব্যাচের ফাইলের পক্ষে মান ওভার-রাইটিং করা সম্ভব, সুতরাং মানটি সঠিক হওয়ার গ্যারান্টি নেই।

আপনি সরাসরি কম্পিউটারের নাম পড়তে ডাব্লুএমআইসি ব্যবহার করতে পারেন।

for /f "skip=1 delims=" %%A in (
  'wmic computersystem get name'
) do for /f "delims=" %%B in ("%%A") do set "compName=%%A"

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


1
কেবল কল করার পরিবর্তে ডাব্লুএমই ব্যবহার করার কোনও কারণ আছে hostname?
eis

আমি উত্তরটি লেখার পরে এটি ভেবেছিলাম। এটি অবশ্যই সহজ হবে। আমি এই বিষয়গুলিতে কোনও বিশেষজ্ঞ নই, তবে সার্ভারসফল্ট / কিউ / ২60০৫63 / ২০১69৫৫ এর ভিত্তিতে , আমি মনে করি হোস্টের নাম এবং কম্পিউটারের নাম একই হওয়ার নিশ্চয়তা নেই। তবে আমি মনে করি সাধারণ পরিস্থিতিতে এগুলি একই রকম হওয়ার কথা।
dbenham

26

উইন্ডোজ, সাধারণত একটি পরিবেশের পরিবর্তনশীল ইতিমধ্যে সেট করা থাকে এবং আপনার ব্যবহারের জন্য উপলব্ধ -

echo %ComputerName%

1
এটি উইন্ডোজের কোন সংস্করণে প্রযোজ্য? (উইন্ডোজ in. এ আমার জন্য কাজ করেছেন)
ডেভিড রিচারবি

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

আকর্ষণীয়ভাবে যথেষ্ট যদিও, এটি একটি পাওয়ারশেলের কাজ করবে না; শুধুমাত্র সেমিডি.এক্স.ই. অদ্ভুত যে।
ফ্রাঙ্ক থমাস

পাওয়ার ভেরিওনমেন্ট ভেরিয়েবলের মতো বিশেষ জিনিসগুলির প্রতিনিধিত্ব করার নিজস্ব পদ্ধতি রয়েছে ... নিম্নলিখিত কাজগুলি -Get-Item Env:\ComputerName
বিকাশ গুপ্ত

1
@ ভিকাসগুপ্ত আপনি কেবল ব্যবহার করতে পারেন $env:computername(কেস-সংবেদনশীলও)।
বব

0

পাওয়ারশেলে আপনি এটি ব্যবহার করতে পারেন:

[Environment]::MachineName

এখানে মান। নেট থেকে আসে তাই এটি ব্যবহারের বিষয়টি এড়িয়ে চলে $Env:ComputerName


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