2012-06-26 7 views
9

Ich suche nach einem Befehl cmd Shell in Windows XP, wie "dir/b/s", die Datum und Uhrzeit für jede Datei im Ergebnis enthält. Alle Daten - Pfad, Dateiname und Datum/Uhrzeit - müssen in einer Zeile stehen. Kann jemand einen Befehl zur Verfügung stellen, um dies zu erreichen? Vielen Dank.cmd dir/b/s plus Datum

Antwort

1

Es gibt keine direkte Möglichkeit, dies mit DIR zu tun. Sie müssten einen Wrapper schreiben, der die überflüssigen Details von einem DIR löscht

Sie konnten entweder powershell, vbscript oder Javascript verwenden, um dies zu tun.

Hier ist eine ähnliche Antwort mit PowerShell: How to retrieve a recursive directory and file list from PowerShell excluding some files and folders?, obwohl Sie dies ändern müssen, um das Datum/die Uhrzeit hinzuzufügen.

UPDATE: Hier ist eine MAD-Site, die einen rekursive Verzeichnis zu Fuß in vielen verschiedenen Sprachen auflistet: http://rosettacode.org/wiki/Walk_a_directory/Recursively

12

Wenn Sie Dateien möchten nur

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

Wenn Sie beiden Dateien und Verzeichnisse wollen dann die Verwendung DIR-Befehl mit FOR/F

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

Wenn in einer Batch-Datei verwendet, dann %F und %~tF mus t wechseln zu %%F und %%~tF.

+0

Das perfekt meine Bedürfnisse erfüllt. Vielen Dank. – user1483922

+2

@ user1483922 - Wenn Sie eine Antwort erhalten, die genau Ihren Anforderungen entspricht, sollten Sie sie akzeptieren, indem Sie auf das Häkchen neben der oberen linken Ecke der Antwort klicken. Wenn du eine Antwort akzeptierst, wissen andere, dass die Frage beantwortet wurde. Sie erhalten 2 Punkte, wenn du dir die Zeit nimmst, die Antwort zu akzeptieren, und die Person, die die Antwort geschrieben hat, erhält 15 Punkte. – dbenham

0

Wie wäre es etwa so:

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 

Simples, obwohl ich es ein wenig :-) kompliziert haben