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

Neueste Datei mit Batch suchen

Frage Entwicklung Batch & Shell

Mitglied: thilo-55

thilo-55 (Level 1) - Jetzt verbinden

10.11.2014, aktualisiert 11.11.2014, 959 Aufrufe, 4 Kommentare, 1 Danke

Ein herzliches Hallo an die Teilnehmer des Forums.
Leider komme ich mit meinen batch/dos-Kenntnissen nicht mehr weiter.
Evtl. kann mir ja hier jemand helfen.
Folgende Problematik:
Auf der Festplatte (Win7) befinden sich in div. Unterverzeichnissen mehrmals die gleiche, fest definierte Datei (z.B. "datei.dat"), aber mit unterschiedlichen Änderungsdatum-Daten.
Mittels Batch sollte nun die Dateien gesucht und gefunden werden und nur von der Neuesten der diesbezügliche Pfad als Variable ausgegeben werden.
Ich habe versch. Ansätze mit dir/s in Verbindung mit findstr verfolgt, bringe dies dann aber mit einer for-do Schleife nicht zusammen.
Evtl. hat jemand eine gute Idee?
Viele Grüße
Thilo
Mitglied: colinardo
10.11.2014, aktualisiert um 15:38 Uhr
Hallo Thilo,
machst du beispielsweise so:
"ordner" ist der Startordner ab dem alle Unterordner nach der "datei.dat" durchsucht werden sollen. Die neueste Datei wird dann in der Variablen %datei% gespeichert.
01.
@echo off & setlocal 
02.
set "ordner=C:\temp" 
03.
set datei= 
04.
for /f "delims=" %%a in ('dir /b /s /a-d /o-d "%ordner%\datei.dat" 2^>nul') DO @( 
05.
  if not defined datei set "datei=%%a" 
06.
07.
echo %datei% 
Grüße Uwe
Bitte warten ..
Mitglied: thilo-55
10.11.2014 um 16:41 Uhr
Hi Uwe,
vielen Dank für Deine schnelle Antwort.
Leider ist es so, dass augenscheinlich "irgendeine" datei.dat ausgegeben wird - zumindest auf dem Win-XP-Rechner, auf dem ich es gerade ausprobiere - vielleicht liegt das Fehler aber auch an mir...
Werde mich Morgen nochmals genauer damit beschäftigen.
Grüße Thilo
Bitte warten ..
Mitglied: rubberman
LÖSUNG 10.11.2014, aktualisiert 11.11.2014
Hallo thilo-55, willkommen im Forum.

Leider ist es so, dass augenscheinlich "irgendeine" datei.dat ausgegeben wird - zumindest auf dem Win-XP-Rechner
"Irgendeine" ist nicht ganz richtig. Es ist die erste gefundene Datei. Die Option /o sortiert zwar, aber immer nur innerhalb eines Verzeichnisses.
Ich habe mal versucht das Dateidatum als Timestamp neu zusammen zu setzen und über SORT laufen zu lassen. Funktioniert so bei mir (Win7).
01.
@echo off &setlocal 
02.
set "ordner=C:\temp" 
03.
set "datei=datei.dat" 
04.
 
05.
set "newest=" 
06.
for /f "tokens=1*" %%f in ( 
07.
  '( 
08.
    for /r "%ordner%" %%i in (%datei%^) do ( 
09.
      for /f "tokens=1-5 delims=.: " %%j in ("%%~ti"^) do echo %%l%%k%%j%%m%%n "%%~i" 
10.
    ^) 
11.
  ^)^|sort' 
12.
) do for %%h in (%%g) do set "newest=%%~h" 
13.
 
14.
echo "%newest%" 
15.
pause
Grüße
rubberman
Bitte warten ..
Mitglied: thilo-55
11.11.2014 um 08:26 Uhr
Hallo rubberman,
das ist ja gigantisch - bin total begeistert !
Funktioniert genau so, wie ich es verzweifelt versucht habe, selbst zu lösen (und dann auch noch mit so wenig Quelltext)
Ich danke Dir sehr!
Beste Grüße
Thilo
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
gelöst Per Batch nur neueste Datei mit bestimmten Dateianfang kopieren (3)

Frage von Peter32 zum Thema Batch & Shell ...

Batch & Shell
gelöst XML-Datei: Pfade suchen, verlinkte Dateien kopieren und Pfade ändern (4)

Frage von ELEVATOR zum Thema Batch & Shell ...

Batch & Shell
gelöst Suchen und Ersetzen mehrerer Suchbegriffe per Batch (4)

Frage von makroll10 zum Thema Batch & Shell ...

Batch & Shell
Neuere Datei per Batch ausfinding machen (2)

Frage von chattie zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (24)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Erkennung und -Abwehr
Spam mit eigener Domain (12)

Frage von NoobOne zum Thema Erkennung und -Abwehr ...