কমান্ড প্রম্পটে পুনরাবৃত্তভাবে খালি ফাইলের নাম পান


16

আমি কেবল ছদ্মবেশে কেবল ফাইলের নাম (কোনও এক্সটেনশন বা ফাইল পাথ নেই) পাওয়ার চেষ্টা করে ছুটে এসেছি his এটি মূল ফোল্ডারে আমার জন্য কাজ করেছে:

dir /b

তবে আমি যখন পুনরাবৃত্তভাবে স্ক্যান করতে / গুলি যুক্ত করেছি তখন ফাইল নামগুলির আগে আমিও চাই না যা আমি চাই না file কোনও ডিরেক্টরিতে সমস্ত সাবফোল্ডার থেকে খালি ফাইল নাম পাওয়ার কোনও উপায় আছে কি?

উইন্ডোজ 7 এক্স 64৪ এ আমি পিএস বা ভিবিএস নয় বরং নিয়মিত কমান্ড প্রম্পট ব্যবহার করব

উত্তর:


13

নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

dir /b /a /s
  • / বি আউটপুট থেকে তারিখ এবং অন্যান্য বিশদটি বাদ দেয়
  • / একটি কেবল ফাইলের নাম আউটপুট দেয়, কোনও পথ নেই
  • / গুলি একটি পুনরাবৃত্ত ডিরেক্টরি ডিরেক্টরি সক্ষম করে

যদি আপনাকে কোনও ফাইলে আউটপুট সংরক্ষণ করতে হয় তবে আপনি এটি ব্যবহার করতে পারেন:

dir /b /a /s >> list_of_names.txt

সম্পাদনা সম্পাদনা করুন উপরের সমাধানটি মূল প্রশ্নের লক্ষ্যে পৌঁছায় না। আমি প্রশ্নটি থেকে একটি জিনিস লক্ষ্য করেছি যে পোস্টটি পুনরাবৃত্ত তালিকার জন্য জিজ্ঞাসা করে। যার অন্য উত্তরটির অভাব রয়েছে তাই আমি মনে করি অন্য উত্তরদাতার উত্তরে "/ গুলি" যুক্ত করা কৌশলটি করবে

for /f %a in ('dir /b /s') do @echo %~na

আপনি এই ব্যাখ্যা করতে পারেন? আমার কাছে এটি কিছুটা বোধগম্য নয়।
সাইমন শিহান

4
এটি কাজ করে না, / a এর মতো কাজ করে না - আপনি কোন ধরণের ফাইল তালিকাভুক্ত করতে চান তার জন্য এটি ফিল্টার। পুনরাবৃত্ত ডিরেক্টরি ডিরেক্টরি করার সময় ফাইলের নাম থেকে পথটি কেটে যায় না।
গাফ

উত্তর সম্পাদিত; এবং কেবল আমার উইন্ডোজ বাক্সে আবার হাত পেল, আমি মনে করি এই বারটি করা উচিত (win732bit)
নিক তাই

5

এটা চেষ্টা কর:

for /f "delims=" %a in ('dir /b /s') do @echo %~na

কীভাবে কাজ করে এবং এটি কী করছে সে সম্পর্কে আরও তথ্য লিখুন for /?


এই প্রায় কাজ করে কিন্তু একটি বড় problem.It শুধুমাত্র একটি filename.If প্রথম শব্দ একটি ফাইল উদাহরণ "আমার ছুটি ইমেজ 1" জন্য তারপর, এটা শুধুমাত্র আউটপুট "আমার" আউটপুট আছে
TMRW

এটি ব্যবহার করে দেখুন: / f "delims = |" এর জন্য % এ ইন ('দির / বি') @ ইচো% ~ না করুন। ডিফল্টরূপে ফর এর / এফ প্যারামিটার স্পেসে টোকনাইজ করবে। ফাইল / ডিরেক্টরি নামগুলিতে উপস্থিত না হওয়া উচিত এমন একটি অক্ষরে টোকেন সেট করা আপনাকে স্পেসগুলি সহ পুরো নাম দেবে।
স্কট ম্যাককিনি

2
for /r %i in (*) do @echo %~ni

অথবা

forfiles /s /c "cmd /c if @isdir==FALSE noquotes.bat @fname"

এই বিষয়বস্তু সহ noquotes.batআপনার % PATH% এ কোনও ফাইল ধরে নিচ্ছেন

@echo %~1

for / r পদ্ধতির ব্যাখ্যা করা হয়েছে

for /rবর্তমান ডিরেক্টরিটি পুনরাবৃত্তির সাথে হাঁটা হয় (আপনি একটি ডিরেক্টরি নির্দিষ্ট করতে পারেন for /r drive:\path\, বর্তমান ডিরেক্টরিটি ধরে নেওয়া হয়েছে) এবং সেটের সাথে মেলে প্রতিটি ফাইলের জন্য নির্দিষ্ট কমান্ডটি কার্যকর করে (*)। সেটটি (.)কেবলমাত্র ডিরেক্টরিগুলির সাথে মেলে। @echo% ~ ni এই কমান্ডটি প্রম্পট থেকে যেমন রয়েছে তেমন কাজ করে। যদি আপনি এটি একটি ব্যাচ ফাইলের ভিতরে রাখেন তবে আপনার উক্তিগুলি দ্বিগুণ করুন। অর্থাতfor /r %%i in (*) do @echo %%~ni

forfiles পদ্ধতির ব্যাখ্যা

/sউল্লেখ বর্তমান এবং সমস্ত সাব-
/cকোট ভিতরে কমান্ড executes
@isdirএবং @fnameপ্রতীক কমান্ড স্ট্রিং মধ্যে নির্গত হয়
অতিরিক্ত ব্যাচ ফাইল noquotes.bat% ~ 1 (প্যারামিটার 1) সঙ্গে ডাবল কোট stripping দ্বারা সাহায্য করে
forfilesএছাড়াও আপনি একটি পাথ শুরু করতে নির্দিষ্ট করার অনুমতি দেবেforfiles /P C:\Windows ...


@ ডেভিডপস্টিল হ্যাঁ, এটি একটি খারাপ উত্তর ছিল। তোমার মন্তব্যের জন্য ধন্যবাদ. আমি আমার উত্তর আরও উন্নত করতে পারেন কিনা দয়া করে আমাকে জানান।
জেজেএস

@ ডেভিডপস্টিল আপনার কোনও উত্তর বা মন্তব্য নেই। আপনি কি প্রশ্নগুলি সংশোধন করছেন, বা উত্তর খুঁজছেন এবং আমার নিম্নমানের উত্তরের জন্য হোঁচট খাচ্ছেন?
জেজেএস

আপনার উত্তর "নিম্নমানের পোস্টগুলি" পর্যালোচনা সারিতে উত্থিত হয়েছে। আমি যেমন ব্যাচ ফাইলগুলি সম্পর্কে অনেক কিছু জানি, আমি এটি বন্ধ করে দিয়েছিলাম।
ডেভিডপস্টিল

@ ডেভিডপস্টিল আপনার পর্যালোচনার জন্য ধন্যবাদ। আমি আমার উত্তরে যে পরিবর্তন করেছি সে সম্পর্কে আপনার পর্যালোচনাটিকে আমি স্বাগত জানাই।
জেজেএস

আরও অনেক ভাল ... :)
ডেভিডপস্টিল

-1

সমস্ত ফাইল তালিকাভুক্ত, খালি, পুনরাবৃত্তভাবে, গুণাবলী ব্যবহার করে (ডিরেক্টরি নয়) (কেবল ফাইলগুলি)

দির / বি / এস / এ: -ডি

সি: \ পরীক্ষা \ ক্যাশে> দির / বি / এস / এ: -ডি

সি: \ পরীক্ষা \ ক্যাশে \ 7 \ 0f \ 7b50ed0522645513da90345120eaf0f7 সি: \ পরীক্ষা \ ক্যাশে \ d \ 23 \ 814644aa6a8195c91e54d2f7bb64e23d


প্রশ্নটি বলছে যে ওপি "কেবলমাত্র ফাইলের নাম (কোনও এক্সটেনশন বা ফাইলের পাথ) পাওয়ার চেষ্টা করছে না। … কিন্তু যখন আমি dir /b /sপুনরাবৃত্তভাবে স্ক্যান করার চেষ্টা করেছি, তখন ফাইলের নামের আগে আমি ফাইলের পথও পেয়েছিলাম, যা আমি চাই না ”" সুতরাং, আপনি ওপিকে বলছেন যে তারা ইতিমধ্যে কী চেষ্টা করেছে সে সম্পর্কে একটি তুচ্ছ পরিবর্তন করতে চেষ্টা করুন, এবং আপনার উত্তরটি দেখায় এটি ওপি যখন চেষ্টা করেছিল তখন একই ফলাফল দেয় (অর্থাত্ তারা যা চায় তা নয়)।
স্কট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.