বর্তমানে সম্পাদিত ব্যাচ স্ক্রিপ্ট ধারণকারী ডিরেক্টরিটি পান


30

%0ব্যাচ ফাইলে থাকা ডিরেক্টরিটি পেতে আমি ব্যাচ ফাইলে ব্যবহার করি তবে ফলাফলটি হল: -

c:\folder1\folder2\batch.bat

আমি ব্যাচ ফাইলের নাম ছাড়াই কেবল ডিরেক্টরি চাই: -

c:\folder1\folder2\

আমি এটা কিভাবে করবো? হয়তো আমার পথটি ফিল্টার করা উচিত। যদি হ্যাঁ, আমি এটি কিভাবে করতে পারি?


কমান্ড লাইনের অংশ হিসাবে ব্যাচ ফাইলে% 0 ব্যবহার করার সময় আপনার% 0 \ .. \ RestOfStuff ব্যবহার করা উচিত। ডাবল ডট ফাইল ফাইলটির অতীত থেকে ফিরে আসে।
জন গার্ডেনিয়ার্স

বর্তমানে কার্যকর করা স্ক্রিপ্টযুক্ত ডিরেক্টরিটি বর্তমান কার্যক্ষম ডিরেক্টরি (সিডি) এর মতো নয়! আমি সেই অনুসারে প্রশ্নটি সম্পাদনা করেছি - এটি এখন "বর্তমান ডিরেক্টরি" শব্দটি এড়িয়ে চলে।
চিক্কোডোর

উত্তর:


52
%~p0

কেবল পথে ফিরে আসবে।

%~dp0

ড্রাইভ + পাথ ফিরে আসবে।

এই বিষয়ে আরও তথ্য মাইক্রোসফ্টের সাইটে পাওয়া যাবে ।

উইন্ডোজ ওএসে চালিয়ে কমান্ড ফর কমান্ডের সাহায্যে এই বাক্য গঠন সম্পর্কিত তথ্যও পাওয়া যাবে for /?


2
অন্য রেফারেন্স উত্স হিসাবে, পরিবর্তনশীল বিকল্পগুলির একই তালিকাটি আপনি টাইপ করার সময়ও দেখানো হয়for /?
কেভিন

% ~ dp0 এক্সিকিউটিভ ব্যাচ ফাইলের ডিরেক্টরি দেয়। ব্যাচ ফাইলটি যদি অন্য কোনও ডিরেক্টরিতে থাকে তবে আপনি সেই অন্যান্য ডিরেক্টরিটি পাবেন। % সিডি% সর্বদা আপনাকে বর্তমান ডিরেক্টরি দেয়।
মিহাই ড্যানিলা

@ মিহাইডানিলা, না, ওপি যা বলেছিল তা নয়।
বার্ট ডি ভোস

বর্তমান ডিরেক্টরিটি পাওয়ার কোনও উপায় অনুসন্ধান করার সময় আমি এই প্রশ্নটি পেয়েছি । এটি গুগলে প্রথম হিট ছিল। শিরোনামটি স্পষ্টতই বর্তমান ডিরেক্টরিটি বলে , যদিও আপনি সামগ্রীতে সঠিক right আমরা উভয়ই ঠিক আছি, তবে আমি মনে করি লাইন এবং আমি প্রশ্নটি আসলে কী উত্সাহিত করেছে তা সত্ত্বেও এটি সম্পর্কে আরও সঠিক। এ কারণেই আমি লিনের উত্তরটি বড় করেছি ... প্রশ্নের শিরোনামটির নামটিই নিজের প্রশ্নের সাথে সিঙ্ক করার জন্য নামকরণ করা উচিত।
মিহাই ড্যানিলা

1
সম্ভবত লিঙ্কটির নিবন্ধটির শিরোনাম সরবরাহ করা যেতে পারে, যেহেতু লিঙ্কটি আর বৈধ নয় .....
রূপসিং মঠওয়ালে

16

বর্তমান ডিরেক্টরিটি% সিডি% তে রাখা হয়েছে


4
% সিডি% আপনি যে পথে ব্যাচটি চালাবেন সেখান থেকে ব্যাচ ফাইলটি যেখানে রয়েছে তা
পুনরুদ্ধার করুন

4
@ মোহাম্মদ: আসলে এটি বর্তমান ডিরেক্টরি। অপরটি হ'ল ডিরেক্টরিটি যেখানে ব্যাচ ফাইল রয়েছে। এই দুটি একই নয় এবং আপনার প্রশ্নটি এইটির জন্য স্পষ্টভাবে জিজ্ঞাসা করে। সুতরাং দয়া করে এটি সম্পাদনা করুন যদি আপনি যা বলতে চান তা না হয়।
জোয়

% সিডি% ব্যাচ ফাইলের বর্তমান পাথটি ফেরত দেয় তবে যখন আমরা প্রশাসক হিসাবে ব্যাচ ফাইলটি চালিত করি তখন ব্যর্থ হয়। আমরা যখন প্রশাসক হিসাবে ব্যাচ ফাইল চালাই তখন এটি সিস্টেম 32 এর পথে ফিরে আসে। সুতরাং আরও ভাল বিকল্পটি সম্পূর্ণ পথের জন্য% ~ dp0 ব্যবহার করা

% ~ dp0 এক্সিকিউটিভ ব্যাচ ফাইলের ডিরেক্টরি দেয়। ব্যাচ ফাইলটি যদি অন্য কোনও ডিরেক্টরিতে থাকে তবে আপনি সেই অন্যান্য ডিরেক্টরিটি পাবেন। % সিডি% সর্বদা আপনাকে বর্তমান ডিরেক্টরি দেয়।
মিহাই ড্যানিলা

পাঠকের রেফারেন্সের জন্য - প্রশ্নটি মূলত "বর্তমান ডিরেক্টরি" শব্দটি ব্যবহার করছিল যখন স্ক্রিপ্টযুক্ত ডিরেক্টরিটির অর্থ - এটি এখন ঠিক করা হয়েছে।
চিক্কোডোর

4

ফাইলের নামকে প্রভাবিত করে এমন কিছু এক্সপ্রেশন:

~f0সম্পূর্ণ যোগ্যতাসম্পন্ন ফাইলের নাম দেবে give
~dpnx0এর মতোই দেবে ~f0, তবে এটি আপনাকে দেখায় যে আপনি এটিকে কিছু অংশে ভেঙে ফেলতে পারবেন: d = ড্রাইভ পি = পাথ এন = নাম এক্স = এক্সটেনশন


0

chdir কমান্ড ব্যবহার করুন

বিকল্প 1:

chdir 

বিকল্প 2:

echo %CD%

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