TXT Dateien nur verschieben wenn größer 0kb
Hallo Forum,
ich habe eine Buchungssoftware die pro Buchung eine Transaktionsdatei (TXT) liefert.
Nach erfolgreicher Buchung wird automatisch eine TXT-Datei in C:\TMP geschrieben.
Unmittelbar danach wird eine move.bat ausgeführt.
Diese move.bat dient dazu die Dateien auf den Server zu schieben.
MOVE.BAT
C:\Programme\...\Wait.exe 2
move c:\TMP\*.* C:\LIVE\
C:\Programme\...\Wait.exe 2
\\nvgm028\SYS\Datei_Aus_LIVE_Holen.bat
Mein Problem ist, dass die verschobenen TXT-Dateien manchmal (wirklich selten), auf dem Server mit 0kb ankommen.
Von der WAIT.EXE möchte ich weg kommen. Das ist nicht die Lösung!
Ich möchte, das nur die TXT-Dateien verschoben werden, die größer 0kb sind.
Somit sollte sicher gestellt sein, dass nur Dateien mit Inhalt, also größer 0kb, dort hin verschoben werden.
Hat hier jemand eine Lösung für mich?
Danke und Gruß
Roland
ich habe eine Buchungssoftware die pro Buchung eine Transaktionsdatei (TXT) liefert.
Nach erfolgreicher Buchung wird automatisch eine TXT-Datei in C:\TMP geschrieben.
Unmittelbar danach wird eine move.bat ausgeführt.
Diese move.bat dient dazu die Dateien auf den Server zu schieben.
MOVE.BAT
C:\Programme\...\Wait.exe 2
move c:\TMP\*.* C:\LIVE\
C:\Programme\...\Wait.exe 2
\\nvgm028\SYS\Datei_Aus_LIVE_Holen.bat
Mein Problem ist, dass die verschobenen TXT-Dateien manchmal (wirklich selten), auf dem Server mit 0kb ankommen.
Von der WAIT.EXE möchte ich weg kommen. Das ist nicht die Lösung!
Ich möchte, das nur die TXT-Dateien verschoben werden, die größer 0kb sind.
Somit sollte sicher gestellt sein, dass nur Dateien mit Inhalt, also größer 0kb, dort hin verschoben werden.
Hat hier jemand eine Lösung für mich?
Danke und Gruß
Roland
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 86365
Url: https://administrator.de/forum/txt-dateien-nur-verschieben-wenn-groesser-0kb-86365.html
Ausgedruckt am: 23.04.2025 um 05:04 Uhr
11 Kommentare
Neuester Kommentar
@paulepank
Ich tendiere eher zu "pushd" / "popd" - damit wird auch (bei Bedarf) das Laufwerk gewechselt (ginge aber auch mit "cd /d").
Wenn nicht angenommen werden muss, dass es Unterverzeichnisse mit ".txt" gibt, reicht auch:
Grüße
bastla
Ich tendiere eher zu "pushd" / "popd" - damit wird auch (bei Bedarf) das Laufwerk gewechselt (ginge aber auch mit "cd /d").
Wenn nicht angenommen werden muss, dass es Unterverzeichnisse mit ".txt" gibt, reicht auch:
for %%i in (C:\tmp\*.txt) do if %%~zi gtr 0 move "%%~fi" c:\LIVE\
Grüße
bastla
@bastla,
ja das ist besser.
Wobei es mich doch interessiert , wieso das ('dir c:\tmp /b /a-d') keine Größenangabe listet.
cu paulepank
ja das ist besser.
Wobei es mich doch interessiert , wieso das ('dir c:\tmp /b /a-d') keine Größenangabe listet.
cu paulepank
@paulepank
Ein
(ohne /s) liefert nur den reinen Dateinamen als "Text", aber nicht ein "Dateiobjekt" - als Pfad (falls benötigt) wird der des aktuellen Verzeichnisses angenommen (kannst Du zB bei Ausgabe eines "%%~fi" sehen).
Grüße
bastla
Ein
dir c:\tmp /b /a-d
Grüße
bastla
[Haarspaltemodus an]
@reinhr
Wenn wirklich nur Datei größer 1 KB kopiert werden sollen, dann muss der Vergleich von "gtr 0" auf "gtr 1024" geändert werden.
@bastla
Denn die haben als %[%]~zi-Größenangabe bei M$ immer den Wert 0.
[/Haarspaltemodus aus]
Von daher tendiere ich eindeutig zu dieser von Dir vorgeschlagenen Variante.
Grüße
Biber
@reinhr
Wenn wirklich nur Datei größer 1 KB kopiert werden sollen, dann muss der Vergleich von "gtr 0" auf "gtr 1024" geändert werden.
@bastla
Wenn nicht angenommen werden muss, dass es Unterverzeichnisse mit ".txt" gibt, reicht auch:
Genauer gesagt, es ist vollkommen egal, ob s auch Unterverzeichnisse gibt, die "whatever.txt" heißenfor %%i in (C:\tmp\*.txt) do if %%~zi gtr 0 move "%%~fi" c:\LIVE\
Denn die haben als %[%]~zi-Größenangabe bei M$ immer den Wert 0.
[/Haarspaltemodus aus]
Von daher tendiere ich eindeutig zu dieser von Dir vorgeschlagenen Variante.
Grüße
Biber
@Biber
Und um das Ganze abzurunden (und mich endgültig zu korrigieren): Ein einfaches "for" liefert ohnehin nur Dateien ...
Grüße
bastla
Und um das Ganze abzurunden (und mich endgültig zu korrigieren): Ein einfaches "for" liefert ohnehin nur Dateien ...
Grüße
bastla
[das vorletzte Wort haben]
@Biber
in der Nacht hast du wohl ein kleines Becks zu viel ...
in der Titelzeile steht doch deutlich größer 0kb
[/das vorletzte Wort haben]
cu paulepank
@Biber
[Haarspaltemodus an]
@reinhr
Wenn wirklich nur Datei größer 1 KB kopiert werden sollen, dann muss der
Vergleich von "gtr 0" auf "gtr 1024" geändert werden.
@reinhr
Wenn wirklich nur Datei größer 1 KB kopiert werden sollen, dann muss der
Vergleich von "gtr 0" auf "gtr 1024" geändert werden.
in der Nacht hast du wohl ein kleines Becks zu viel ...
in der Titelzeile steht doch deutlich größer 0kb
[/das vorletzte Wort haben]
cu paulepank