Top-Themen

Aktuelle Themen (A bis Z)

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 Dateien umbenennen abhängig vom Erstellungsdatum

Mitglied: andi0972

andi0972 (Level 1) - Jetzt verbinden

25.09.2007, aktualisiert 27.09.2007, 4680 Aufrufe, 5 Kommentare

Hallo zusammen,

ich habe folgendes Problem, ich möchte gerne Dateien z.B. Uebergabe_02_00007985_20070925100505.000 in z.B. Uebergabe_02_00007985_20070925100505.002 umbenennen.
Diese werden von einem anderen Prozess ertstellt und es kann sei dass diese noch im Zugriff sind wenn der Batch läuft den ich momentan laufen habe.
Deswegen dürfen nur Dateien umbenannt werden die älter als 5 Minuten sind.
Der Dateiname baut sich immer uebergabe_02_fortlaufendeNummer_JahrMonatTagUhrzeit.000 auf.
Es soll auch nur die Dateiendung in 002 umbenannt werden, dies ist dann für die weitere Verarbeitung.
Der Dateiname selbst soll gleich bleiben.

Kann hier jemand weiterhelfen?


Vielen Dank
Mitglied: bastla
25.09.2007 um 17:52 Uhr
Hallo Andi0972 und willkommen im Forum!

Du könntest es mit der folgenden Batch/VBScript-Kombination versuchen:
01.
@echo off & setlocal
02.
set /a MindestAlter=5
03.
set "D=D:\Daten\*.000"
04.
set "New=*.002"
05.

06.
set "AM=%temp%\AgeInMinutes.vbs"
07.
echo A=DateDiff("n", CreateObject("Scripting.FileSystemObject").GetFile(WScript.Arguments(0)).DateLastModified, Now):If A^>100000 Then WScript.Echo 100000 Else WScript.Echo A>"%AM%"
08.

09.
for %%i in ("%D%") do for /f %%a in ('cscript //nologo "%AM%" "%%i"') do set /a Alter=%%a & call :ProcessFile "%%i"
10.
del "%AM%"
11.
goto :eof
12.

13.
:ProcessFile
14.
if %Alter% leq %MindestAlter% goto :eof
15.
ren %1 "%New%"
Da die Altersberechnung (zumindest unter Berücksichtigung eines Tages-/Monats-/Jahreswechsels) in Batch etwas aufwändig ist, erledigt der VBS-Teil die Ermittlung des Alters in Minuten, wobei eine (willkürliche) Begrenzung dafür sorgt, dass das Maximalalter mit 100000 Minuten angegeben wird.

Die angegebenen Quelldateien ("D:\Daten\*.000") werden einzeln untersucht und, falls deren Alter über dem Mindestalter (angegeben in Minuten) liegt, entsprechend der Vorgabe umbenannt.

Grüße
bastla
Bitte warten ..
Mitglied: andi0972
26.09.2007 um 13:24 Uhr
Vielen Dank für Deine Hilfe.
Mein Kollege und ich haben es mit einem selbst erstelltem Tool hin bekommen.

Aber trotzdem vielen Dank für Deine Hilfe.
Bitte warten ..
Mitglied: Biber
26.09.2007 um 18:41 Uhr
Ja, wie, andi0972,
Mein Kollege und ich haben es mit einem selbst erstelltem Tool hin bekommen.
... und weiter?

Da gratuliere ich doch erstmal. Aber dann möchte ich schon fragen:
Wollt ihr es zuerst dem Nobelpreiskommittee in Stockholm vorlegen oder dürfen wir als fachkundige Forums-MitleserInnen auch mal einen Blick drauf werfen?

Vielleicht ist ja die Lösung auch hilfreich für andere....
Das Problem "Dateien umbenennen abhängig vom Erstellungsdatum" jedenfalls tritt in diesem Forum schon hin und wieder mal auf.

Meine Bitte:
Auch wenn ihr selbst eine Lösung gefunden hat, lasst den Rest des Forums doch bitte daran teilhaben.
Falls ich mal eine Idee oder einen Lösungsansatz haben sollte, werde ich mich im Gegenzug dann auch damit einbringen.

Danke
Biber
Bitte warten ..
Mitglied: andi0972
27.09.2007 um 12:04 Uhr
Hallo,

sorry hatte vergessen zu erwähnen dass wir es nicht mit einem Batch sondern mit VFP gelöst haben. Hier dazu der Code:
01.
C_FILE_EXT_OLD = 000
02.

03.
C_FILE_EXT_NEW = UPL
04.

05.
C_TIME_DIF_SEC = 300
06.

07.
 
08.

09.
gnDbcnumber = ADIR(gaDatabase, ('*.' + C_FILE_EXT_OLD) ) 
10.

11.
IF gnDbcnumber > 0
12.

13.
      FOR nCount = 1 TO gnDbcnumber  
14.

15.
         C_FILE_NAME_OLD = ALLTRIM(gaDatabase(nCount,1))
16.

17.
         C_FILE_DATE_OLD = DTOC(gaDatabase(nCount,3))
18.

19.
         C_FILE_TIME_OLD = gaDatabase(nCount,4)
20.

21.
         C_FILE_DATI_OLD = C_FILE_DATE_OLD + ' ' + C_FILE_TIME_OLD
22.

23.
         N_ZEIT_DIF = DATETIME() - CTOT(C_FILE_DATI_OLD)
24.

25.
         IF N_ZEIT_DIF > VAL(C_TIME_DIF_SEC)
26.

27.
               C_FILE_NAME_ALT_OHNE_EXT = SUBSTR(C_FILE_NAME_OLD,1,LEN(C_FILE_NAME_OLD)-3)
28.

29.
               C_FILE_NAME_NEU = C_FILE_NAME_ALT_OHNE_EXT + C_FILE_EXT_NEW
30.

31.
               RENAME (C_FILE_NAME_OLD) TO (C_FILE_NAME_NEU)
32.

33.
         ENDIF          
34.

35.
      ENDFOR
36.

37.
ENDIF 
Viele Grüße
Bitte warten ..
Mitglied: Biber
27.09.2007 um 13:30 Uhr
Moin andi0972,

Danke Dir fürs Posten.
Habe Deinen Code als <code> formatiert.

Jetzt schließe ich den Beitrag auch.

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Datei nach Erstellungsdatum verschieben
Frage von Kugelschreiber1Batch & Shell2 Kommentare

Hallo, ich möchte über eine Batch-Datei Dateien, die älter als 20 Tage sind, in einen anderen Ordner verschieben. Dabei ...

Batch & Shell

Batch : Wenn Erstellungsdatum und Änderungsdatum älter als x Tage, lösche Datei

gelöst Frage von Jack005Batch & Shell2 Kommentare

Hallo zusammen, ich weiß, dass es ähnliche Themen schon öfters gab. Ich habe mir auch wirklich so ziemlich alle, ...

Batch & Shell

Datein nach Erstellungsdatum in Unterornder verschieben

gelöst Frage von xyxy-yxBatch & Shell20 Kommentare

Hallo, ich möchte alle Dateien nach Erstellungsdatum in datumbenannte Unterordner kopieren und eventuell diesen auch erstellen, wenn er nicht ...

E-Mail

Lotus Notes 8.5 - Erstellungsdatum eines Termins

gelöst Frage von MausekuchenE-Mail4 Kommentare

Hallo zusammen! Kann man bei Lotus Notes im Kalender bei einem selbst eingetragenen Termin sehen, wann man ihn erstellt ...

Neue Wissensbeiträge
Internet
Copyright-Reform: Upload-Filter
Information von Frank vor 1 TagInternet

Hallo, viele Menschen reden aktuell von Upload-Filtern. Sie reden darüber, als wären es eine Selbstverständlichkeit, das Upload-Filter die Seitenbetreiber ...

Google Android

Blokada: Tracking und Werbung unter Android unterbinden

Information von AnkhMorpork vor 1 TagGoogle Android1 Kommentar

In Ergänzung zu meinem vorherigen Beitrag: Blokada efficiently blocks ads, tracking and malware. It saves your data plan, makes ...

Google Android
Facebooks unsichtbare Datensammlung
Information von AnkhMorpork vor 1 TagGoogle Android2 Kommentare

Rund 30 Prozent aller Apps im Play-Store nehmen Kontakt zu Facebook auf, sobald man sie startet. So erfährt der ...

Exchange Server

Exchange 2010 bis 2019 Sicherheitslücke durch CU RU schließen

Information von sabines vor 1 TagExchange Server

Für die hier: und hier: besprochene Sicherheitslücke ist ein Patch für Microsoft Exchange Server 2010 - 2019 verfügbar. RU ...

Heiß diskutierte Inhalte
Windows 10
Windows Update funktioniert nicht - Keine Verbindung mit dem Updatedienst
gelöst Frage von anveWindows 1030 Kommentare

Hallo, ich kann schon länger keine Updates mehr machen. Wenn ich auf Update suchen gehe, dann schreibt er folgendes: ...

LAN, WAN, Wireless
NETBEUI unter Windows 10
Frage von certifiedit.netLAN, WAN, Wireless26 Kommentare

Guten Abend, wir stehen gerade vor dem Rästel, warum man in einer Industriemaschine (wert gut 6-stellig, paar mal vorhanden) ...

Hardware
Was passiert wenn ein Server zu heiß wird?
Frage von LohrakHardware21 Kommentare

Hallo Sollte ein Server zu heiß werden, da z.B ein Lüfter ausfällt, was würde passieren? Wie meldet sich der ...

Internet
EU-Gremien einigen sich auf die schärfste Form von Upload-Filter und Leistungsschutzrecht
Information von FrankInternet19 Kommentare

Nun ist es . Die Verlage, die in der Vergangenheit das Internet verschlafen hatten und kurz vor ihrer Auflösung ...