Sto cercando un comando della shell cmd in Windows XP, come "dir/b/s" che include i valori di data e ora per ogni file nel risultato. Tutti i dati - percorso, nome file e data/ora - devono essere su un'unica riga. Qualcuno può fornire un comando per realizzare questo? Grazie.cmd dir/b/s più data
risposta
Non esiste un modo diretto per farlo utilizzando DIR. Avresti bisogno di scrivere un wrapper che tolga i dettagli estranei da un DIR/s
A questo scopo potresti utilizzare sia powershell, vbscript o javascript.
Ecco una risposta correlata utilizzando PowerShell: How to retrieve a recursive directory and file list from PowerShell excluding some files and folders? sebbene sia necessario modificare questo per aggiungere la data/ora.
UPDATE: Ecco un sito MAD che elenca una directory ricorsiva passeggiata in un sacco di lingue diverse: http://rosettacode.org/wiki/Walk_a_directory/Recursively
Se si desidera che i file solo
for /r %F in (*) do @echo %~tF %F
Se si desidera sia i file e le directory quindi utilizzare il comando DIR con FOR/F
for /f "eol=: delims=" %F in ('dir /b /s') do @echo %~tF %F
Se utilizzato in un file batch poi %F
e %~tF
mus t passare a %%F
e %%~tF
.
Che ne dite di qualcosa di simile:
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
Semplici, anche se forse ho complicato un po ':-)
Questo risponde perfettamente alle mie esigenze. Grazie. – user1483922
@ user1483922 - Quando ottieni una risposta che soddisfa perfettamente le tue esigenze, devi accettarla facendo clic sul segno di spunta vicino all'angolo in alto a sinistra della risposta. Accettando una risposta, gli altri sanno che la domanda ha avuto risposta, ti assegna 2 punti per il tempo dedicato ad accettare la risposta e assegna alla persona che ha postato la risposta 15 punti. – dbenham