ডিরেক্টরিতে .bat বা .Cmd ফাইলের সাহায্যে ডিরেক্টরিতে প্রতিটি ফাইলের মধ্যে কীভাবে পুনরাবৃত্তি করবেন?
সরলতার জন্য দয়া করে এমন একটি উত্তর সরবরাহ করুন যা কেবল ফাইলের নাম বা ফাইলের পথ প্রতিধ্বনিত করে।
ডিরেক্টরিতে .bat বা .Cmd ফাইলের সাহায্যে ডিরেক্টরিতে প্রতিটি ফাইলের মধ্যে কীভাবে পুনরাবৃত্তি করবেন?
সরলতার জন্য দয়া করে এমন একটি উত্তর সরবরাহ করুন যা কেবল ফাইলের নাম বা ফাইলের পথ প্রতিধ্বনিত করে।
উত্তর:
কমান্ড লাইন ব্যবহার:
for /f %f in ('dir /b c:\') do echo %f
ব্যাচের ফাইলের ব্যবহার:
for /f %%f in ('dir /b c:\') do echo %%f
আপডেট : ডিরেক্টরিতে যদি নামের সাথে জায়গাগুলি সহ ফাইল থাকে তবে আপনাকে for /f
কমান্ডটি ব্যবহার করছে এমন ডিলিমেটার পরিবর্তন করতে হবে । উদাহরণস্বরূপ, আপনি পাইপ চর ব্যবহার করতে পারেন।
for /f "delims=|" %%f in ('dir /b c:\') do echo %%f
আপডেট 2 : (মূল উত্তরের দেড় বছর পরে তাড়াতাড়ি :-)) ডিরেক্টরি ডিরেক্টরিতে নিজেই যদি নামের একটি স্থান থাকে তবে আপনি usebackq
বিকল্পটি ব্যবহার করতে পারেন for
:
for /f "usebackq delims=|" %%f in (`dir /b "c:\program files"`) do echo %%f
এবং যদি আপনাকে আউটপুট পুনর্নির্দেশকরণ বা কমান্ড পাইপিং ব্যবহার করতে হয় তবে এস্কেপ চর ব্যবহার করুন ( ^
):
for /f "usebackq delims=|" %%f in (`dir /b "c:\program files" ^| findstr /i microsoft`) do echo %%f
/f
প্রয়োজন পরে for
? সহায়তা দস্তাবেজ অনুসারে /f
পতাকাটি প্রতিটি ফাইল খোলে এবং পড়ে। ফাইলগুলির প্রতিধ্বনি বা নামকরণের জন্য এটি কি দরকার?
/f
পরে FOR
ফাইলগুলিতে এটা নিষিদ্ধ। একইভাবে, /d
ডিরেক্টরিগুলি (ফোল্ডারগুলি) সীমাবদ্ধ করে এবং /r
এটি পুনরাবৃত্ত হওয়ার নির্দেশ দেয়।
'dir /b "c:\program files"'
এটি হওয়া উচিত`dir /b "c:\program files"`
সবচেয়ে সহজ পদ্ধতি:
কমান্ড লাইন থেকে, ব্যবহার করুন:
for %f in (*.*) do echo %f
একটি ব্যাচ ফাইল থেকে (% শতাংশ চিহ্নগুলি দ্বিগুণ করুন):
for %%f in (*.*) do echo %%f
1 ম পরামিতি হিসাবে নির্দিষ্ট ফোল্ডার সহ একটি ব্যাচ ফাইল থেকে:
for %%f in (%1\*.*) do echo %%f
dir /B
সাথে আউটপুট মূল্যায়নের তুলনায় উল্লেখযোগ্যভাবে আরও মার্জিত for
।
ব্যবহার
for /r path %%var in (*.*) do some_command %%var
সঙ্গে:
%%var was unexpected at this time.
আপনি একটি সঠিক উদাহরণ দিতে পারেন? আমি বৈচিত্র একটি গুচ্ছ চেষ্টাfor /r . %%var in (*.*) do echo %%var
অন্য উপায়:
for %f in (*.mp4) do call ffmpeg -i "%~f" -vcodec copy -acodec copy "%~nf.avi"
"%~nf"
বলতে ফাইলের নামটি এক্সটেনশন ছাড়াই বোঝায় যেখানে অংশে f
নির্দিষ্ট করা ভেরিয়েবলের নাম রয়েছে for
। দস্তাবেজ: ডকস.মাইক্রোসফট.এইন.ইউএস