Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Die 10 neuesten Dateien in Ordnerstruktur finden

Frage Entwicklung Batch & Shell

Mitglied: BurnBaby

BurnBaby (Level 1) - Jetzt verbinden

25.03.2013, aktualisiert 26.03.2013, 1265 Aufrufe, 5 Kommentare

Hallo zusammen,
wie schon im Titel gesagt, möchte ich in einer Textdatei die 10 neuesten Dateien in einer
Ordnerstruktur eintragen.
Nun habe ich schon die letzten Tage hier im Forum danach gesucht und habe eines gefunden gehabt,
dass in diese Richtung ging, dies habe ich inzwischen etwas abgeändert.
Mir wird nun in einer Datei schon die neuesten 10 Dateien eingetragen,
nur sucht er nur in den ersten Unterordnern nach Dateien.
Das heißt er sucht nicht nach Dateien im Hauptordner und nicht nach Dateien die nach dem ersten Unterordner kommen.
Dies hätte ich aber noch gerne.
Einer einen Vorschlag für mich ?

Gruß
Andreas

01.
@echo off & setlocal 
02.
set "StartDir=I:\Engineering" 
03.
 
04.
set T=DirList.txt 
05.
set T2=DirListSort.txt 
06.
for /d %%d in ("%StartDir%"\*.*) do ( 
07.
    for /f "delims=" %%i in ('dir /b /a-d "%%d\*.*" 2^>nul') do call :ProcessFile "%%d\%%i" 
08.
09.
sort /R %T% >> %T2% 
10.
for /f "tokens=1,* delims=:" %%i in ('findstr /n $ %T2%') do @( 
11.
        for /L %%a in (1,1,10) do @if %%i==%%a @echo %%i %%j 
12.
13.
del %T% 
14.
del %T2% 
15.
pause 
16.
goto :eof 
17.
 
18.
:ProcessFile 
19.
set D=%~t1 
20.
>>%T% echo %D:~6,4%%D:~3,2%%D:~,2%%D:~11,2%%D:~14,2% %1 
21.
goto :eof
Mitglied: bastla
25.03.2013 um 14:49 Uhr
Hallo BurnBaby und willkommen im Forum!

Ersetze die Zeilen 6 bis 8 durch
for /f "delims=" %%i in ('dir /s/b /a-d "%StartDir%" 2^>nul') do call :ProcessFile "%%i"
- und verwende beim Posten von Batches oder Textbeispielen bitte (geht auch noch nachträglich) "Code"-Formatierung ...

Grüße
bastla
Bitte warten ..
Mitglied: BurnBaby
26.03.2013 um 09:48 Uhr
Hallo bastla,
habe es nun ersetzt, nun bekomme ich aber keine Ausgabe mehr.

01.
@echo off & setlocal 
02.
set "StartDir=I:\Engineering" 
03.
 
04.
set T=DirList.txt 
05.
set T2=DirListSort.txt 
06.
for /f "delims=" %%i in ('dir /s/b /a-d "%StartDir%" 2^>nul') do call :ProcessFile "%%i" 
07.
 
08.
sort /R %T% >> %T2% 
09.
for /f "tokens=1,* delims=:" %%i in ('findstr /n $ %T2%') do @( 
10.
        for /L %%a in (1,1,10) do @if %%i==%%a @echo %%i %%j 
11.
12.
del %T% 
13.
del %T2% 
14.
pause 
15.
goto :eof 
16.
 
17.
:ProcessFile 
18.
set D=%~t1 
19.
>>%T% echo %D:~6,4%%D:~3,2%%D:~,2%%D:~11,2%%D:~14,2% %1 
20.
goto :eof
Bitte warten ..
Mitglied: bastla
26.03.2013 um 11:39 Uhr
Hallo BurnBaby!

Kann ich nicht nachvollziehen - funktioniert bei mir mit dem geposteten Code ...

Du könntest mal direkt in der CMD-Shell mit
dir /s/b/a-d I:\Engineering"
prüfen, welche Dateien gefunden werden ...

Ansonsten lass mal die beiden Varianten jeweils mit "echo on" anstatt "echo off" laufen - zur besseren Nachvollziehbarkeit kannst Du (unter der Annahme, dass die Batchdatei "D:\Latest10.cmd" heißt) mit
D:\Latest10.cmd>D:\Latest10_Log.txt
die Ausgabe in eine Datei schicken (auf die Pause in Zeile 14 solltest Du dann besser verzichten).

Grüße
bastla
Bitte warten ..
Mitglied: BurnBaby
26.03.2013 um 12:03 Uhr
Ja ok, es geht, der Ordner war nur um einiges Größer als gedacht.
Danke dir
Bitte warten ..
Mitglied: Endoro
27.03.2013, aktualisiert 28.03.2013
Hallo BurnBaby, ich weiss, der Thread ist schon "gelöst", aber vielleicht kann ich dich ja mit meinem Fünfzeiler erfreuen:

01.
@echo off &setlocal 
02.
set /a count=0, files=0 
03.
for /f %%i in ('dir /b /s /a-d') do set /a count+=1 
04.
set /a count-=10 
05.
for /f "tokens=2*" %%a in ('^(for /f "delims=" %%i in ^('dir /a-d /b /s'^) do @for /f "tokens=1-4delims=. " %%j in ^("%%~ti"^) do @echo %%l.%%k.%%j %%m "%%~fi"^) ^|sort^|more +%count%^|sort /r') do set /a files+=1& call echo.%%files%% %%~tb %%~fb
Warum das so funktioniert? Keine Ahnung!


bb
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Dateien zusammenführen inkl. finden von doppelten Einträgen (3)

Frage von miczar zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell Versteckte Dateien finden und wieder sichtbar machen (4)

Frage von pixel0815 zum Thema Batch & Shell ...

Windows 10
Angezeigte Größe von komprimierten Dateien auf Windows 10 (5)

Frage von ArminWeinmann zum Thema Windows 10 ...

Neue Wissensbeiträge
Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(5)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(5)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Viren und Trojaner

Neue Magazin Ausgabe: Malware und Angriffe abwehren

Information von Frank zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Batch & Shell
gelöst Batch um Benutzer aus Sitzung abzumelden (15)

Frage von zeroblue2005 zum Thema Batch & Shell ...

Linux
gelöst Google Chrome startet nicht (12)

Frage von Thomas91 zum Thema Linux ...

LAN, WAN, Wireless
IP Sec Client legt Netzwerkkarte lahm (11)

Frage von mario87 zum Thema LAN, WAN, Wireless ...