bumbayay
Goto Top

Batch - Datei zählen wenn mehr als 1 dan fortfahren

Hallo zusammen,
Ich brauche dringend Hilfe face-smile

Hier die Situation:

Ein Sono-Gerät legt Bilddateien (.tif) ab.
Zusätzlich legt das Gerät weitere Dateien und Ordner mit zusätzlichen Informationen im Ordner (Sono) ab
Vergebener Ordner (Sono) wird durchsucht (rekursiv), da Unterordner angelegt werden
Alle .tif Dateien (im Ordner Sono) werden in Ordner (AdAkta) kopiert
Wenn alle .tif Dateien aus Ordner (Sono) kopiert sind, soll der Inhalt des Ordners (Sono) gelöscht werden (Ordner, Unterordner und Dateien)
Aus den einzelnen .tif Dateien soll eine einzige .tif Datei erstellt werden

im Moment habe ich zwei Batch Dateien geschrieben was aber nachher zusammen gefügt werden soll.

Kommen wir jetzt zu dem Problem wen nur 1 Datei (.tif) im Ordner ist macht dieser auch eine Multitif raus was er aber nicht machen soll.
Da er dafür ja min. 2 braucht.

Dies ist meine erste Batch-Datei und ich stehe gerade ziemlich auf dem Schlauch und ich hoffe ihr könnte mir da weiter helfen face-smile

Dieser ist zum Durchsuchen, Kopieren und Löschen
set Ausgang=Sono
set Ziel=AdAkta
set Log=Log

echo --------------------------- >> %Log%\Sicherung.txt
echo %date:~0% - %time:~0,8% Uhr >> %Log%\Sicherung.txt
echo --------------------------- >> %Log%\Sicherung.txt
for /R %Ausgang% %%a in (*tif) do xcopy "%%a" "%Ziel%" >> %Log%\Sicherung.txt  

echo --------------------------- >> %Log%\Sicherung.txt
echo %date:~0% - %time:~0,8% Uhr >> %Log%\Sicherung.txt
echo --------------------------- >> %Log%\Sicherung.txt
del /S /Q %Ausgang% >> %Log%\Sicherung.txt
for /d %%i in (Sono\*.*) do rd /s /q "%%i"  

Dieser zum erstellen der Multitif
set Log=Log
set Ziel=AdAkta

echo --------------------------- >> %Log%\Sicherung.txt
echo %date:~0% - %time:~0,8% Uhr >> %Log%\Sicherung.txt
echo --------------------------- >> %Log%\Sicherung.txt
dir /B %Ziel% >> %Log%\Sicherung.txt
start C:\Progra~2\IrfanView\i_view32 /multitif=(AdAkta\Ergebnis%random%.tif,AdAkta\*.tif) /killmesoftly

Content-Key: 223512

Url: https://administrator.de/contentid/223512

Printed on: April 18, 2024 at 06:04 o'clock

Member: colinardo
colinardo Dec 03, 2013 updated at 08:41:43 (UTC)
Goto Top
Hallo Bumbayay,
du zählst einfach die TIFF-Dateien ohne unsichtbare und Systemdatein in dem jeweiligen Ordner und verzweigst dann je nach Anzahl der Dateien:
for /f %%A in ('dir /a-d-s-h /b *.tif ^| find /v /c ""') do set cnt=%%A  
if "%cnt%" GTR "1" (goto MULTITIFF) else (goto SINGLETIFF)  

:MULTITIFF
start C:\Progra~2\IrfanView\i_view32 /multitif=(AdAkta\Ergebnis%random%.tif,AdAkta\*.tif) /killmesoftly
goto :end

:SINGLETIFF
REM mach hier was mit der einzelnen Tiff-Datei
:end
Grüße Uwe
Member: Bumbayay
Bumbayay Dec 03, 2013 at 09:14:27 (UTC)
Goto Top
Hat super geklappt vielen vielen dank :D
Hast du auch eine Idee wie ich die .tif Dateien die ich zur Multitif benutzt habe aus dem Ordner lösche? face-smile
Weil diese brauche ich dann im Endeffekt ja nicht mehr.
Member: colinardo
colinardo Dec 03, 2013 at 09:16:09 (UTC)
Goto Top
was ist daran so schwer ?:
del /q *.tif
Member: Bumbayay
Bumbayay Dec 03, 2013 at 09:35:35 (UTC)
Goto Top
Sobald ich dies am ende hinzufüge erstellt er mir zwar eine Multitif aber ohne Inhalt.
Member: colinardo
colinardo Dec 03, 2013 updated at 09:40:18 (UTC)
Goto Top
du musst Irfanview sagen das die Batch warten (Parameter /wait) soll bis IrfanView fertig ist und sich beendet hat, ansonsten läuft die Batch munter weiter und löscht die Bilder noch bevor IrfanView anfängt die Bilder zusammenzusetzen:
start /wait C:\Progra~2\IrfanView\i_view32 /multitif=(AdAkta\Ergebnis%random%.tif,AdAkta\*.tif) /killmesoftly 
Grüße Uwe
Member: Bumbayay
Bumbayay Dec 03, 2013 at 10:11:44 (UTC)
Goto Top
So nun ist alles wie es sein soll, ich danke dir vielmals Uwe für deine sehr schnelle und kompetente Hilfe face-smile