2012-06-26 7 views
9

मैं विंडोज XP में एक cmd shell कमांड की तलाश में हूं, जैसे कि "dir/b/s" जिसमें परिणामस्वरूप प्रत्येक फ़ाइल के लिए दिनांक और समय मान शामिल हैं। सभी डेटा - पथ, फ़ाइल नाम और दिनांक/समय - एक पंक्ति पर होना आवश्यक है। क्या कोई इसे पूरा करने के लिए एक आदेश प्रदान कर सकता है? धन्यवाद।cmd dir/b/s प्लस दिनांक

उत्तर

1

डीआईआर का उपयोग करके ऐसा करने का कोई सीधा तरीका नहीं है। आपको एक रैपर लिखना होगा जिसने डीआईआर/एस

से अतिरिक्त विवरण छीनने की आवश्यकता होगी, आप इसे करने के लिए या तो पावरहेल, vbscript या जावास्क्रिप्ट का उपयोग कर सकते हैं।

पावरशेल का उपयोग करके एक संबंधित उत्तर यहां दिया गया है: How to retrieve a recursive directory and file list from PowerShell excluding some files and folders? हालांकि आपको दिनांक/समय जोड़ने के लिए इसे संशोधित करने की आवश्यकता होगी।

अद्यतन: http://rosettacode.org/wiki/Walk_a_directory/Recursively

12

आप फ़ाइलों को चाहते हैं केवल

for /r %F in (*) do @echo %~tF %F 

आप दोनों फ़ाइलों और निर्देशिकाओं चाहते हैं तो का उपयोग करें: यहाँ एक MAD साइट है कि अलग-अलग भाषाओं का भार में एक पुनरावर्ती निर्देशिका की पैदल दूरी पर सूचीबद्ध करता है के लिए/एफ

for /f "eol=: delims=" %F in ('dir /b /s') do @echo %~tF %F 

साथ DIR आदेश तो एक बैच फ़ाइल में प्रयोग किया जाता %F और %~tF Mus टी %%F और %%~tF में बदल गया।

+0

यह मेरी जरूरतों को पूरी तरह से पूरा करती है। धन्यवाद। – user1483922

+2

@ user1483922 - जब आपको कोई उत्तर मिलता है जो आपकी आवश्यकताओं को पूरी तरह से पूरा करता है, तो आपको उत्तर के ऊपरी बाएं कोने के पास स्थित चेकमार्क पर क्लिक करके इसे स्वीकार करना चाहिए। किसी उत्तर को स्वीकार करने से दूसरों को पता चलता है कि प्रश्न का उत्तर दिया गया है, यह आपको जवाब स्वीकार करने के लिए समय लेने के लिए 2 अंक देता है, और यह उस व्यक्ति को पुरस्कार देता है जिसने उत्तर 15 अंक पोस्ट किए हैं। – dbenham

0

कुछ इस तरह के बारे में कैसे:

for /f "tokens=*" %a in ('dir *.* /a:d /b /s') do for /f "skip=5 tokens=1,2,3,4*" %b in ('dir *.* /a:-d') do @if %e neq bytes @echo %a\%e%f %b %c 

सरल है, हालांकि मैं यह जटिल हो सकता है एक छोटे से :-)

संबंधित मुद्दे