Nur Dateien mit gleichen Dateianfang verschieben
Hallo Leute,
ich bekomme täglich viele verschiedene Dateien mit gleicher Struktur in einem Verzeichnis bereitgestellt.
Derzeit werden alle Dateien nach einer Prüfung ob diese > 0KB sind verschoben.
Das fünktioniert auch sehr gut. (BAT-Datei: Code anbei) (INI-Datei: Code anbei)
In meinem Verzeichnis sind z.B folgende Dateien.
01CA00046.txt
01CA00047.txt
02CA00033.txt
02CA00034.txt
Ich möchte erreichen, dass z.B nur die Dateien mit dem Dateiprefix 01CA verarbeitet werden.
Mit %%i wird immer der ganze Dateiname als Variable aufgenommen.
Wie kann ich das anstellen?
Gruß
Roland
ich bekomme täglich viele verschiedene Dateien mit gleicher Struktur in einem Verzeichnis bereitgestellt.
Derzeit werden alle Dateien nach einer Prüfung ob diese > 0KB sind verschoben.
Das fünktioniert auch sehr gut. (BAT-Datei: Code anbei) (INI-Datei: Code anbei)
In meinem Verzeichnis sind z.B folgende Dateien.
01CA00046.txt
01CA00047.txt
02CA00033.txt
02CA00034.txt
Ich möchte erreichen, dass z.B nur die Dateien mit dem Dateiprefix 01CA verarbeitet werden.
Mit %%i wird immer der ganze Dateiname als Variable aufgenommen.
Wie kann ich das anstellen?
---------------------------------------------------------------------------------------------------
BAT-Datei
---------------------------------------------------------------------------------------------------
SET ININAME=%~n0.ini
for /f "tokens=2 delims==" %%i in ('findstr "MyZIEL=" %ININAME%') do SET MyZIEL=%%i
for /f "tokens=2 delims==" %%i in ('findstr "MyQUEL=" %ININAME%') do SET MyQUEL=%%i
set /a ThisLoop=0
:waitForTheFilesToCreate
if %Thisloop%==10 goto givingUp
set /a Thisloop=%Thisloop% +1
for /f "delims=" %%i in ('dir %MyQUEL% /b /a-d /s') do if %%~zi gtr 0 move "%%i" %MyZIEL%
if exist "%MyQUEL%" dir /b /A:-d "%MyQUEL%">nul 2>nul || goto machweiter
goto waitForTheFilesToCreate
:givingUp
echo Timeout am %date% %time%, da 0kB Dateien vorhanden (Siehe Stammverzeichnis) >> Error.log
for /f "delims=" %%i in ('dir %MyQUEL% /b /a-d /s') do if %%i gtr 1024 move "%%i"
goto machweiter
goto :eof
:machWeiter
for /f "tokens=2 delims==" %%i in ('findstr "MySTAR=" %ININAME%') do %%i
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
INI-Datei
----------------------------------------------------------------------------------------------------
MyQUEL=C:\TMP
MyZIEL=C:\LIVE
MySTAR=\\nvgm028.muc\....\CaPaX\Test.bat
----------------------------------------------------------------------------------------------------
Gruß
Roland
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 88416
Url: https://administrator.de/forum/nur-dateien-mit-gleichen-dateianfang-verschieben-88416.html
Ausgedruckt am: 18.05.2025 um 16:05 Uhr
2 Kommentare
Neuester Kommentar