Zeit auslesen und txt speichern oder löschen
Ich habe folgendes Problem. Und zwar will ich in einen Ordner die Bearbeitungszeit von Text dateien auselesen und den stündlichen wert vergleichen. Trifft dieser meinen Anforderungen zu soll die txt in einen neuen ordner kopiert werden wenn nicht lösche sie. Ich habe bereits ein Programm von Biber genommen und angepasst was alle txt dateien auflistet und vergleicht. Jedoch wie kann ich nun sagen das auch nur diese eine txt gelöscht bzw kopiert werden soll.
Ich habe bereits den Befehl: del C:\TEMP\Test\*.txt getestet aber da löscht es mir alle txt dateien und das ist nicht das ziel.
Hier der Quelltext
Hoffe ihr könnt mir helfen
[Edit Biber] Codeformatierung [/Edit]
Ich habe bereits den Befehl: del C:\TEMP\Test\*.txt getestet aber da löscht es mir alle txt dateien und das ist nicht das ziel.
Hier der Quelltext
@ECHO OFF
ECHO Import aller Dateien
for /f "delims=" %%i in ('dir C:\TEMP\Test\*.txt /s /b /a-d') do call :splitDate %%~ti
goto :eof
:splitDate Parameter1 ist Datum , Parameter2 ist Zeit
for /f "tokens=1-5 delims=.:, " %%a in ("%1.%2") do (
set TT=%%a
Set MM=%%b
Set JJ=%%c
Set hh=%%d
Set mi=%%e
echo Tag: %TT% Monat: %MM% Jahr: %JJ% Stunde: %hh% Minute: %mi%
IF %hh% LSS 12 (
echo Datei Speichern
rem hier soll jetzt die txt kopiert werden
) ELSE (
echo Datei löschen
rem hier soll die txt gelöscht werden
)
)
Goto :eof
[Edit Biber] Codeformatierung [/Edit]
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 160885
Url: https://administrator.de/forum/zeit-auslesen-und-txt-speichern-oder-loeschen-160885.html
Ausgedruckt am: 05.05.2025 um 08:05 Uhr
9 Kommentare
Neuester Kommentar

moin und willkommen...
zum Thema:
Benutze den doch.
Gruß
zum Thema:
Ich habe folgendes Problem.
und@ECHO OFF
for /f "delims=" %%i ... do call
bedeutet doch, du hast in dem Call Block den Dateinamen/verweis dieser einen speziellen Datei.Benutze den doch.
Gruß
Hallo NeoLeo und willkommen im Forum!
Damit Du auch wissen kannst, um welche Datei es geht, musst Du eben die auch noch mit in das Unterprogramm übergeben:
wo sie dann als %3 (allerdings ohne Pfad) ankommt ...
... daher würde ich vorweg (als Zeile 3) mit
gleich in den passenden Ordner wechseln (und nach Zeile 4 dann das Gegenstück "
Grüße
bastla
Damit Du auch wissen kannst, um welche Datei es geht, musst Du eben die auch noch mit in das Unterprogramm übergeben:
for /f "delims=" %%i in ('dir C:\TEMP\Test\*.txt /s /b /a-d') do call :splitDate %%~ti "%%i"
... daher würde ich vorweg (als Zeile 3) mit
pushd "C:\TEMP\Test"
popd
" ergänzen) ...Grüße
bastla

Eine Batch - siehe mein verlinktes Textchen über echo off ist eine zusammenfassung einzelner Befehle, die jeweils funktionieren müssen.
Gruß
move C:\TEMP\Test\%~3 C:\TEMP\Test Import\*.*
ist ein Befehl, der so nicht funktioniert. da fehlen ein/zwei paar Gänsefüße und ein (das) paar sternchen gehört da auch nicht hin.move "C:\TEMP\Test\%~3" "C:\TEMP\Test Import\"
eventuelle weitere Fehler such ich nicht.Gruß

Bitte, aber ohne den grünen Haken ist das nur die halbe Miete.
Gruß