Wo ist mein fehler
Wo ist mein Fehler???
Hallo ich habe eine Batchdatei die fehlende Bilder mit einem NO-Bild erstellen soll.
Er rattert kurz durch und in der bild.cmd steht nur
ob wohl er mir Bild002.bmp Bild005.bmp und soweiter als copy befhl schreiben müsste.
echo >bild.cmd
setlocal enabledelayedexpansion
for /L %%i in (1,1,999) do (
echo %%i >>bild.cmd
if /I %%i LSS 100 (
if /I %%i LSS 10 (
if NOT exist 'z:\Beurteilung\Bild00%%i.bmp' (
echo copy z:\Beurteilung\no.bmp z:\Beurteilung\Bild00%%i.bmp >> bild.cmd
)
)else(
if NOT exist 'z:\Beurteilung\Bild0%%i.bmp'(
echo copy z:\Beurteilung\no.bmp z:\Beurteilung\Bild0%%i.bmp >> bild.cmd
)
)
)else(
if NOT exist 'z:\Beurteilung\Bild%%i.bmp' (
echo copy z:\Beurteilung\no.bmp z:\Beurteilung\Bild%%i.bmp >> bild.cmd
)
)
)
Pause
ECHO ist eingeschaltet (on).
Please also mark the comments that contributed to the solution of the article
Content-Key: 174651
Url: https://administrator.de/contentid/174651
Printed on: April 19, 2024 at 03:04 o'clock
2 Comments
Latest comment
Hallo Dipps,
dein Fehler liegt darin, beim
Da du eine Batchdatei schreiben willst, wären die ganzen Bildnummern, die durch Zeile 4 in Deinem Code dort hinein geschrieben würden, sowieso kontraproduktiv. Deshalb wird das bei obigem Code nicht gemacht.
Gruß
Friemler
dein Fehler liegt darin, beim
if exist
-Befehl den Dateinamen in Apostrophe einzuschließen statt in Anführungszeichen. Das ganze ließe sich aber sowieso folgendermaßen eindampfen (ist dann sogar etwas schneller):@echo off & setlocal
type NUL > "Bild.cmd"
for /l %%i in (1, 1, 999) do (
call :ProcessFile %%i
)
exit /b
:ProcessFile
set "Num=00%1"
set "Num=%Num:~-3%"
if not exist "Z:\Beurteilung\Bild%Num%.bmp" (
>>"Bild.cmd" echo copy "Z:\Beurteilung\No.bmp" "Z:\Beurteilung\Bild%Num%.bmp"
)
exit /b
Da du eine Batchdatei schreiben willst, wären die ganzen Bildnummern, die durch Zeile 4 in Deinem Code dort hinein geschrieben würden, sowieso kontraproduktiv. Deshalb wird das bei obigem Code nicht gemacht.
Gruß
Friemler