AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Neueste Datei per Batch herausfinden
Thema durchsuchen
Ansicht
Themen-Optionen

Neueste Datei per Batch herausfinden

Ein Thema von ManuelR · begonnen am 3. Sep 2008 · letzter Beitrag vom 17. Nov 2010
Antwort Antwort
Seite 1 von 2  1 2      
ManuelR

Registriert seit: 14. Dez 2005
Ort: Backnang
57 Beiträge
 
Delphi 2010 Professional
 
#1

Neueste Datei per Batch herausfinden

  Alt 3. Sep 2008, 12:43
Hallo,

kennt jemand eine Möglichkeit per Batch herauszufinden welches die jüngste
Datei innerhalb eines Verzeichnises ist ?


Danke
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Neueste Datei per Batch herausfinden

  Alt 3. Sep 2008, 12:59
Mit einer Option von "dir" kannst Du die Dateien dem Alter nach auflisten.
Die letzte Datei ist dann die neueste.

[quote]dir /?
Displays a list of files and subdirectories in a directory.

DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N]
[/O[[:]sortorder]] [/P] [/Q] [/S] [/T[[:]timefield]] [/W] [/X] [/4]

[drive:][path][filename]
Specifies drive, directory, and/or files to list.

/A Displays files with specified attributes.
attributes D Directories R Read-only files
H Hidden files A Files ready for archiving
S System files - Prefix meaning not
/B Uses bare format (no heading information or summary).
/C Display the thousand separator in file sizes. This is the
default. Use /-C to disable display of separator.
/D Same as wide but files are list sorted by column.
/L Uses lowercase.
/N New long list format where filenames are on the far right.
/O List by files in sorted order.
sortorder N By name (alphabetic) S By size (smallest first)
E By extension (alphabetic) D By date/time (oldest first)
G Group directories first - Prefix to reverse order
/P Pauses after each screenful of information.[/quote]


Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
ManuelR

Registriert seit: 14. Dez 2005
Ort: Backnang
57 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Neueste Datei per Batch herausfinden

  Alt 3. Sep 2008, 13:08
Danke Klaus,

... und nur diese letzte würde ich gerne kopieren. Und das automatisiert als Batch.



Grüsse Manuel
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Neueste Datei per Batch herausfinden

  Alt 3. Sep 2008, 13:41
Versuche es mal so:

Code:
for /F %i in ('dir /OD /B') do @set FILE=%i

echo %FILE%
Funktioniert bei Dateinamen ohne Leerzeichen.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Kangri

Registriert seit: 6. Sep 2010
2 Beiträge
 
#5

AW: Neueste Datei per Batch herausfinden

  Alt 6. Sep 2010, 17:47
Hallo Klaus,

ich möchte aus einer alphabetisch geordneten Liste die neueste Datei auswählen und umbenennen. Da ich aber noch absoluter Batch Anfänger bin kann ich deinen Code nicht lesen. Könntest du den vielleicht nochmal allgemeiner gefasst posten?
Das wäre super!

Gruß,
David
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

AW: Neueste Datei per Batch herausfinden

  Alt 6. Sep 2010, 18:14
An was genau scheiterst du? Du musst ja für deinen Fall nur nach etwas anderem sortieren. Die Parameter (also die Hilfe) wurde bereits gepostet.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#7

AW: Neueste Datei per Batch herausfinden

  Alt 6. Sep 2010, 18:40
Also ich würde den Job mit VB-Script erledigen.
Die Möglichkeiten von Batchdateien (MS-DOS) sind doch viel zu begrenzt.
Folgendes VB-Script zeigt die neueste Datei an:
Code:
Dim fNewest
set oFolder=createobject("scripting.filesystemobject").getfolder("C:\")
For Each aFile In oFolder.Files
    If fNewest = "" Then
        Set fNewest = aFile
    Else
        If fNewest.DateCreated < aFile.DateCreated Then
            Set fNewest = aFile
        End If
    End If
Next

MsgBox "Neueste Datei: " + fNewest.name
Zum Testen einfach eine Datei mit der Endung .vbs erstellen und mit einem Editor obigen Code reinkopieren.
Dann Doppelklicken zum Starten.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#8

AW: Neueste Datei per Batch herausfinden

  Alt 6. Sep 2010, 19:42
Funktioniert VBS denn einfach so? Wird es aus sicherheitsgründen auf den meisten Systemen nicht deaktiviert? (zum Beispiel von XP-Antispy etc.)
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.136 Beiträge
 
Delphi 12 Athens
 
#9

AW: Neueste Datei per Batch herausfinden

  Alt 6. Sep 2010, 19:55
Theoretisch müßte man auch %~tI dafür nutzen können.
Schau dir mal FOR-Hilfe an > DOS-Command for /? .
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Kangri

Registriert seit: 6. Sep 2010
2 Beiträge
 
#10

AW: Neueste Datei per Batch herausfinden

  Alt 7. Sep 2010, 11:31
Hallo!

Danke für eure Hilfe. Hier nochmal mein genaues Problem:

Ich habe eine Batch Datei welche mir mehrere Dateien von einem ftp-Server auf meinen lokalen PC kopiert.
Anschließend werden die Dateien alphabetisch sortiert (Dateien sind fortlaufend nummeriert). Jetzt möchte ich die erste Datei auswählen und umbenennen nach aktuellem Datum und Uhrzeit.
Mit
Code:
mget *.jdf
hole ich die Dateien. Hier muss ich leider für jede einzelne Datei
Code:
y
eintippen, kann ich da nicht "ja zu allen" sagen?

So sortiere ich die Dateien und benenne sie um:
Code:
dir *.jdf /o:-n && echo DATEIEN SORTIERT
ren [COLOR="Red"]NEUESTE DATEI[/COLOR] "%date:~0,2%-%date:~3,2%-%date:~6,4%_%time:~0,2%-%time:~3,2%-%time:~6,2%".jdf && echo DATEI UMBENANNT
Wie kann ich hier die neueste Datei wählen?

@shmia: Danke für das Script. Es hat ganz unverändert noch nicht funktioniert. Die MsgBox gibt "Dokumente" aus, obwohl keine Datei so heisst. Ich würde das Problem gerne mit einer Batchdatei lösen, da ich bisher auch alles darüber gelöst habe.

@himitsu: Ich hab mir die Hilfe angeschaut, bin daraus aber nicht schlau geworden. Was bedeutet
Code:
~tI
?

Gruß David
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz