পূর্ণ পাথ দিয়ে প্রদত্ত ডিরেক্টরিতে সমস্ত ফাইল এবং ডিরেক্টরিগুলি কীভাবে তালিকাভুক্ত করবেন তবে পুনরাবৃত্ত হবে না?


14

একরকম dir /bকমান্ডের মতো তবে আমার সেখানে লুকানো এবং সিস্টেম ফাইলও দরকার। Dir কমান্ডে অন্তর্নির্মিত এই জাতীয় 'লুকানো' ফাইলগুলিকে বাকীগুলির সাথে তালিকাবদ্ধ করার অনুমতি দেয় না এবং অবশ্যই /sসেখানে অবশ্যই আমার পুরো পথটি ব্যবহার করতে হবে, এটি অবশ্যই পুনরুক্ত নয়।

আমি lsকমান্ডের উইন্ডোজ সংস্করণ দিয়েও খেলি এবং কোনও ভাগ্যও নেই। পূর্ণ পথ প্রদর্শন করতে আপনাকে অবশ্যই mydir\*তালিকাভুক্ত ডিরেক্টরিটির শেষে অবশ্যই ( ) যুক্ত করতে হবে তবে এটি এটিকে পুনরাবৃত্ত করে তোলে।


1
আমি আপনার সমস্যার অংশটি সমাধান করতে পারি: / পতাকাটি ডিয়ারকে লুকানো এবং সিস্টেম ফাইলগুলি অন্তর্ভুক্ত করে।
হ্যারি জনস্টন

উত্তর:


9

আপনি যদি কিছু ইনস্টল করতে না চান তবে আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন:

for /f "delims=" %a in ('cd') do @for /f %b in ('dir /b /a') do @echo %a\%b

আপনাকে cdপ্রথমে ডিরেক্টরিতে প্রবেশ করতে হবে অথবা এটি কাজ করবে না।


2
অথবা এটা! / এফ "ডিলিমস ="% বি-তে ('দির / বি / এ') করুন
@echo

আপনি কি দয়া করে ব্যাখ্যা করতে পারেন, এই আদেশটি কীভাবে কাজ করে?
rubo77

18

নিম্নলিখিত কমান্ড চেষ্টা করুন:

dir /s /b /a

এটি সমস্ত ফাইল দেবে, FINDআপনি চান বা কোনও ফোল্ডারের নাম যুক্ত করতে চাইলে এটি চালাতে পারবেন ।


1

আপনি যদি চেষ্টা করে থাকেন তবে কেন কেবল সাইগউইন ইনস্টল করবেন না? আপনি সাইগউইন খুঁজে পেতে ব্যবহার করতে পারেন:

find -name "*"

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


আমি ইউনিক্সটিলগুলি চেক করেছি, পুনরাবৃত্তির সন্ধান করুন :(
আরএসকে 82

2
@ আরএসকে 82২: সাথে -maxdepth 1, তা নয়।
ডেনিস

0

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

% সিডি% করছেন কাজ করে না .. তাই %cd:\=\\%প্রত্যেক পরিবর্তিত \করতে \\, যা ফলাফল \

C:\WINDOWS>dir /b | sed "s/^/%cd:\=\\%\\/" 
C:\WINDOWS\0.log
C:\WINDOWS\003109_.tmp
C:\WINDOWS\addins

0

এটি একটি পুরানো প্রশ্ন, তবে আমি ভেবেছিলাম যে কোনওভাবে আমি যুক্ত করব।

ডিআইআর আপনার পছন্দসই সমস্ত ডিরেক্টরি ট্রি যথাযথভাবে অতিক্রম করতে পারে না, বিশেষত সি এর উপরের: না। এটি বিভিন্ন সুরক্ষার কারণে কেবল স্থানগুলিতে ছেড়ে যায়।

এটিটিআরআইবি আরও ভাল কাজ করে, কারণ এটি আরও খুঁজে পেয়েছে। (কেন এই পার্থক্য? এমএস কেন এক উপযোগী কাজকে এই উপায়ে এক উপায় এবং অন্য কাজের ক্ষেত্রে আলাদাভাবে কাজ করবে? যদি আমি জানি তবেই হতবাক।) আমার অভিজ্ঞতাতে এটি হ্যান্ডেল করার সবচেয়ে কার্যকর উপায়, যদিও এটি একটি ক্লডজ, দুটি তালিকা পাওয়া:

attrib /s /d C:\ >%TEMP%\C-with-directories.txt

attrib /s C:\ >%TEMP%\C-without-directories.txt

এবং তাদের মধ্যে পার্থক্য পেতে। এই পার্থক্যটি হ'ল সি: (যেগুলি খুব ভালভাবে লুকানো রয়েছে সেগুলি ব্যতীত) is সি এর জন্য, আমি সাধারণত প্রশাসক হিসাবে এটি চলমান করতাম।


0

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

rem PrintThisDirectory.bat
rem Prints the directory where it resides
@echo off
dir %1/-p/o:gn> "%temp%\listing"
start /w notepad "%temp%\listing"

Rem ShowThisDirectory.bat
Rem Displays in Notepad the Directory where it resides
@echo off
dir %1/o:gn> "%temp%\listing"
start /w notepad "%temp%\listing"
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.