উইন্ডোজ কমান্ড লাইন দির কমান্ড: 8.3 ফর্ম্যাটে কেবল ফাইলের নাম প্রদর্শন করতে?


11

আমি জানি যে "দির / ডাব্লু" বা "দির / বি" কেবল ফাইলের নাম দেখায়। যদিও "dir / x" বা "dir / X" 8.3 ফর্ম্যাটটি দেখায় তবে একসাথে দীর্ঘতর ফর্ম্যাট ফাইলের নাম, তারিখ এবং আকারের মতো অন্যান্য সমস্ত তথ্য দেখায়।

কল করা কি dirকেবল ফাইলের নাম (তারিখ বা মাপ দেখায় না) দেখায় এবং 8.3 ফর্ম্যাটে প্রদর্শন করে?

উত্তর:


10
for /R %A in (*.*) do @echo %~nsA %~nA

উপ-ডিরেক্টরি ছাড়াই:

for %A in (*.*) do @echo %~nsA %~nA

লুকানো ফাইল যুক্ত করুন:

for /F "tokens=*" %A in ('dir /B/A:-/S *') do @echo %~nsA %~nA

উপ-ডিরেক্টরি ছাড়াই:

for /F "tokens=*" %A in ('dir /B/A:- *') do @echo %~nsA %~nA

আপনি কি আউটপুট অন্তর্ভুক্ত করতে পারেন যা এটি প্রমাণ করে যে
বার্লপ

প্রথম কমান্ডের ফলাফলগুলিকে একটি পাঠ্য ফাইলে লাথি মারতে আমি কীভাবে এটি পাব? আমি নিম্নলিখিত ত্রুটিটি পেয়েছি: "ব্যবহারকারী-ম্যাপযুক্ত বিভাগটি উন্মুক্ত করে একটি অনুরোধ করা অপারেশন কোনও ফাইলে সম্পাদন করা যাবে না।"
বিডিবি 484

3

আপনি যদি চান 8.3 টি নাম এবং অন্য কিছু প্রদর্শিত না হয়, আপনি যদি "dir / -n" ব্যবহার করেন তবে প্রতিটি লাইনের শুরুতে আপনি 8.3 নামটি পাবেন। দ্রষ্টব্য: এটি পিরিয়ডের পরিবর্তে স্থানের সাথে ফাইলের নাম থেকে এক্সটেনশনকে পৃথক করে।

C:\Users\User>dir /-n
 Volume in drive C has no label.
 Volume Serial Number is 5C60-1B61

 Directory of C:\Users\User

.             <DIR>             01/28/2015  11:26 PM
..            <DIR>             01/28/2015  11:26 PM
Contacts      <DIR>             12/27/2014  04:46 PM
Desktop       <DIR>             01/25/2015  05:06 PM
DOCUME~1      <DIR>             01/27/2015  10:20 PM
DOWNLO~1      <DIR>             01/27/2015  10:10 PM
FAVORI~1      <DIR>             12/27/2014  04:46 PM
GOOGLE~1      <DIR>             01/28/2015  02:08 AM
Links         <DIR>             01/25/2015  05:06 PM
Music         <DIR>             12/27/2014  04:46 PM
Pictures      <DIR>             12/27/2014  04:46 PM
SAVEDG~1      <DIR>             12/27/2014  04:46 PM
Searches      <DIR>             12/27/2014  04:46 PM
TESTIN~1 TXT                  8 01/28/2015  10:32 PM
TESTIN~2 BAT                175 01/28/2015  11:26 PM
TESTIN~1 BAT                164 01/28/2015  11:26 PM
UNIGIN~1      <DIR>             10/28/2014  07:01 PM
Videos        <DIR>             12/27/2014  04:46 PM
               3 File(s)            347 bytes
              16 Dir(s)  3,896,034,717,696 bytes free

তবে আপনি একটি ব্যাচের ফাইলের লুপের মধ্যে "dir / -n" ব্যবহার করতে পারেন তারপরে প্রতিটি লাইনের বাকী অংশ থেকে মুক্তি পেতে প্রথম 12 টি অক্ষরের একটি স্ট্রিং বের করতে পারেন। উদাহরণ:

@echo off
setlocal EnableDelayedExpansion

for /f "skip=7 tokens=*" %%i in ('dir /-n ^| find /v "File(s)" ^| find /v "Dir(s)"') do (
   set x=%%i
   echo !x:~0,12!
)

"Skip = 7" প্রথম lines টি লাইন এড়িয়ে যায়, যা ফাইল বা ডিরেক্টরি নাম নয় এবং "dir / -n" এর আউটপুট দুটি "dir / -n" দ্বারা উত্পাদিত শেষ দুটি লাইন অপসারণের জন্য দুটি আদেশের মাধ্যমে পাইপ করা হয় "(পাইপ প্রতীক" | "" "by" দ্বারা " পলায়ন " হওয়া দরকার Since "%" এর পরিবর্তে ভেরিয়েবল এক্স example

C:\Users\User>testing456
Contacts
Desktop
DOCUME~1
DOWNLO~1
FAVORI~1
GOOGLE~1
Links
Music
Pictures
SAVEDG~1
Searches
TESTIN~1 TXT
TESTIN~2 BAT
TESTIN~1 BAT
UNIGIN~1
Videos

নিতপিক: এক বা একাধিক স্পেস। abc.txtএটি কার্যকর অবস্থায় দেখতে একটি ফাইল তৈরি করার চেষ্টা করুন । তারপরে, এটির মজাদার জন্য একটি ফাইল তৈরি করুন abc.docx
একটি সিভিএন

0

এক ঘন্টা এটি খেলে আমি নিম্নলিখিতগুলি নিয়ে এসেছি:

ডস প্রম্পট থেকে:

for /F "tokens=*" %A in ('dir /B/A:-/S c:\Windows') do (@echo %~sA>> "%temp%\file_list_8dot3.txt")

.BAT বা .CMD ফাইল থেকে:

for /F "tokens=*" %%A in ('dir /B/A:-/S c:\Windows') do (@echo %%~sA>> "%temp%\file_list_8dot3.txt")

দ্রষ্টব্য: এই স্ক্রিপ্টটিতে এখনও দীর্ঘ ফাইলের নাম নিয়ে সমস্যা রয়েছে, তবে এটি চালিয়ে যাবে এবং একটি 8 ডট 3 পাঠ্য ফাইল তৈরি করবে যা পরে অন্য কোনও ব্যাচের ফাইলে পাম্প করা যেতে পারে।

নিম্নলিখিতটি আমার সম্পূর্ণ পরীক্ষা B বিট ফাইল:

@echo off
cls

set ll=%temp%\file_list_8dot3.txt

if exist "%ll%" del "%ll%"
for /F "tokens=*" %%A in ('dir /B/A:-/S %temp%') do (@echo %%~sA>> "%ll%")

start /wait notepad "%ll%"

if exist "%ll%" del "%ll%"

0

সমস্ত সাব ডিরেক্টরিতে ফাইল তালিকাভুক্ত করতে এটি ব্যবহার করে দেখুন:

for /d /r %i in (*.*) do dir "%i" /B > %i/test.txt

 

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