1.

Solve : Ordering cross-directories?

Answer»

Hi,
I need your help.
I want to iterate over directories and order all the files found by date.

I have used this command:

cmd /c dir " c:\nuovacartella " /b /s /A:-D /o:-d

but the files are ORDERED at folder level.

See the example:

C:\>cmd /c dir "c:\nuovacartella" /b /s /A:-D /tc /o:d
c:\nuovacartella\cartella file\uno.txt
c:\nuovacartella\cartella file\AAA\ciao.txt
c:\nuovacartella\cartella file\AAA\due.doc
c:\nuovacartella\cartella file\AAA\tre.xsl
c:\nuovacartella\cartella file\AAA\appenaCreato.rar
c:\nuovacartella\cartella file\BBB\B2\son UN file.txt
c:\nuovacartella\cartella Link\son un file
c:\nuovacartella\cartella Link\uno
c:\nuovacartella\cartella Link\appenaCreato
c:\nuovacartella\cartella Link\ciao

C:\>cmd /c dir "c:\nuovacartella" /b /s /A:-D /tc /o:-d
c:\nuovacartella\cartella file\uno.txt
c:\nuovacartella\cartella file\AAA\appenaCreato.rar
c:\nuovacartella\cartella file\AAA\tre.xsl
c:\nuovacartella\cartella file\AAA\due.doc
c:\nuovacartella\cartella file\AAA\ciao.txt
c:\nuovacartella\cartella file\BBB\B2\son un file.txt
c:\nuovacartella\cartella Link\ciao
c:\nuovacartella\cartella Link\appenaCreato
c:\nuovacartella\cartella Link\uno
c:\nuovacartella\cartella Link\son un file

but I want the files ordered cross-folder.
Is there a way to do this (for example, using a batch script)?

Thanks in advance. Leonardo



This writes some TMP files and file4.tmp is the sorted file.

Code: [SELECT]@echo off
del file?.tmp 2>nul
dir "c:\nuovacartella" /b /s /A:-D /tc /o:d >file.tmp
for /f "delims=" %%a in (file.tmp) do >> file2.tmp echo %%~nxa?%%~dpa
sort <file2.tmp >file3.tmp
for /f "tokens=1,2 delims=?" %%a in (file3.tmp) do >> file4.tmp echo %%b%%a



Discussion

No Comment Found