.Bat ফাইল [বন্ধ] ব্যবহার করে কোনও ফোল্ডার উপস্থিত রয়েছে কিনা তা পরীক্ষা করা হচ্ছে


160

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

যদি ফোল্ডারআর অস্তিত্ব না থাকে তবে আমি তখন অন্য একটি ফোল্ডার (ফোল্ডারবি) বিদ্যমান কিনা তা পরীক্ষা করে দেখতে চাই। যদি ফোল্ডারবিটির অস্তিত্ব না থাকে তবে একটি বার্তা প্রদর্শিত হবে এবং ফোল্ডারটি তৈরি করা উচিত, এবং যদি ফোল্ডারবি উপস্থিত না থাকে তবে একটি বার্তা এমনভাবেই প্রদর্শন করা উচিত।

কোডটি নোটপ্যাডে ব্যাচ ফাইল তৈরি করতে আমাকে এই কাজটি করার অনুমতি দিতে ব্যবহার করতে পারে সে সম্পর্কে কারও কি ধারণা আছে?

এই সবগুলি একটি .batফাইলে করা দরকার।


7
একটি Google অনুসন্ধান সঙ্গে আসে আপ টেস্টিং একটি ড্রাইভ বা ডিরেক্টরি উপস্থিত রয়েছে । এবং এটি আপনাকে যা জিজ্ঞাসা করছে ঠিক কীভাবে করা যায় তা ব্যাখ্যা করে ...
নীলবি

2
"ব্যাচ-ফাইল ডিরেক্টরি উপস্থিত রয়েছে" এর জন্য অনুসন্ধানে এসওতে উইন্ডোজ ব্যাচ ফাইলের ডিরেক্টরি অনুসন্ধানের সন্ধান পেয়েছে যদি উপস্থিত না থাকে তবে তৈরি ফাইলটি সরান , যা আপনাকে দেখায় যে ডিরেক্টরি উপস্থিত রয়েছে কি না তা কীভাবে দেখতে হয়। এখানে একটি ব্যাচ ফাইল থেকে ডিরেক্টরি তৈরি সম্পর্কে পোস্ট রয়েছে। নতুন প্রশ্ন পোস্ট করার আগে দয়া করে কিছু প্রাথমিক গবেষণা করুন; সম্ভাবনা ভাল এখানে প্রশ্ন আগে এখানে জিজ্ঞাসা করা হয়েছিল। ধন্যবাদ।
কেন হোয়াইট

3
উইন্ডোজ ব্যাচ একটি প্রোগ্রামিং ভাষা, ফাইলটি উপস্থিত রয়েছে কিনা তা পরীক্ষা করা একটি প্রোগ্রামিংয়ের কাজ check বিষয়টিতে উপস্থিত হয়।
অড্রিয়াস মেসকাউকাস

1
ব্যাচের স্ক্রিপ্টে কোনও ফাইল ডিরেক্টরি হলে টেস্টের কীভাবে ডুপিকেট হিসাবে বন্ধ করা উচিত ? "অফ-টপিক" এর পরিবর্তে
মাইকেল ফ্রেইজিম

উত্তর:


259

এটি ব্যবহার করার চেষ্টা করুন:

IF EXIST yourfilename (
echo Yes 
) ELSE (
echo No
)

প্রতিস্থাপন yourfilename আপনার ফাইলের নাম দিয়ে।

একটি ডিরেক্টরি জন্য এই https://jeffpar.github.io/kbarchive/kb/065/Q65994/ দেখুন

C:
IF NOT EXIST C:\WIN\ GOTO NOWINDIR
CD \WIN
:NOWINDIR

ট্র্যাকিং ব্যাকস্ল্যাশ ('\') ডিরেক্টরি এবং সাধারণ ফাইলগুলির মধ্যে পার্থক্য করার জন্য যথেষ্ট বলে মনে হয়।


2
আপনার উত্তরের দ্বিতীয় অংশটি অসম্পূর্ণ।
tmj

4
if exist "c:\folder\nul" echo okউইন্ডোজ 7. কি কাজ ছিল অধীনে আমাকে জন্য কাজ না করে if exist "c:\folder\" echo ok
আলেকজান্ডার জেলবুখ

2
@ আলেকজান্ডারগেলবখ - আপনি ঠিক বলেছেন, if exist "networkPath\nul"উইন্ডোজ নেটওয়ার্ক ড্রাইভে ফোল্ডার হিসাবে কোনও ফাইলকে মিথ্যা প্রতিবেদন করতে পারে। দুর্ভাগ্যক্রমে, if exist "networkPath\"একই সমস্যায় ভুগছে। এ 2015-12-08 আপডেট দেখুন stackoverflow.com/a/8669636/1012053 একটি পন্থা যা আমার সমস্ত পরীক্ষার মধ্যে নির্ভরযোগ্য হয়েছে জন্য।
dbenham

@ আলেকজান্ডার জেলবুখ এটি উদ্ধৃতি ব্যতীত কাজ করে। ডিরেক্টরি পথের মধ্যে ফাঁকা থাকার বিষয়টি অবশ্যই আপনাকে সীমাবদ্ধ করে দেয়।
মার্চ ২৩7777

1
হ্যাঁ, উদ্ধৃতি ছাড়া এটি কাজ করে। তবে, উদ্ধৃতি সহ এটি স্থানীয় ড্রাইভের জন্যও কাজ করে না: if exist c:\Windows\nul echo okবলেছেন ok, তবে if exist "c:\Windows\nul" echo okকিছুই বলেন না। যেমন আমি বলেছি, if exist "c:\Program Files\nul" echo okকিছু না if exist "c:\Program Files\" echo okবলে , বলে okএবং এভাবে স্পেস সহ পথের জন্যও কাজ করে।
আলেকজান্ডার জেলবুখ

34

আমি মনে করি উত্তরটি এখানে (সম্ভবত নকল):

ব্যাচ স্ক্রিপ্টে কোনও ফাইল ডিরেক্টরি হলে কীভাবে পরীক্ষা করবেন?

IF EXIST %VAR%\NUL ECHO It's a directory

আপনার ডিরেক্টরিতে% VAR% প্রতিস্থাপন করুন। দয়া করে আসল উত্তরটি পড়ুন কারণ ফোল্ডারের নামে সাদা স্থানগুলি পরিচালনা করার বিষয়ে বিশদ অন্তর্ভুক্ত রয়েছে।

ফক্সিড্রাইভ যেমন বলেছে, এটি এনটি ক্লাস উইন্ডোতে বিশ্বাসযোগ্য নাও হতে পারে। এটি আমার পক্ষে কাজ করে তবে আমি জানি যে এর কিছু সীমাবদ্ধতা রয়েছে (যা আপনি রেফারেন্সযুক্ত প্রশ্নে খুঁজে পেতে পারেন)

if exist "c:\folder\" echo folder exists 

আধুনিক উইন্ডোজের জন্য যথেষ্ট হওয়া উচিত।


6
T nul কৌশলটি এনটি শ্রেণীর উইন্ডোতে নির্ভরযোগ্য নয়। এটি এমএসডোস এবং উইন 9 এক্সে ঠিক ছিল। আধুনিক উইন্ডোজটির সমাধানটি সহজভাবে if exist "c\:folder\" echo folder exists
ফক্সিড্রাইভ

1
আমি মনে করি এটি রেফারেন্স করা লিঙ্কেও নির্দিষ্ট করা আছে।
কসমিন ভানă

তবুও এটি পান না কেন আমি নিম্নচালিত হয়েছি (যার অর্থ "দরকারী নয়")। আমি উত্তরটিতে প্রয়োজনীয় দৃশ্যের বিষয়ে প্রশ্নের উত্তর উল্লেখ করেছি।
কসমিন ভানă

দরকারী নয় কারণ এটি বর্তমান মেশিনগুলির জন্য প্রযোজ্য নয়, এবং আপনার আগের উত্তরটি কোনও পার্থক্য করেনি। কিছু লোক এখনও আপনার উত্তরকে নীচে নামিয়ে দেবে কারণ এটি প্রশ্নের উত্থাপিত প্রশ্নের উত্তর দেয় না।
foxidrive 12

2
support.microsoft.com/kb/65994 থেকে 65 65994 "স্থানীয় এমএস-ডস এফএটি ড্রাইভে NU সর্বদা উপস্থিত থাকে" - যেমনটিE:\NUL
সিএডি ব্ল্যাক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.