For Schleife will nicht so wie ich will
Guten Morgen.
Habe hier ein kleines Problem. Vielleicht kann mir ja einer helfen...
1. Kann mir einer sagen, wieso %diff% nie angezeigt wird?
2. Wieso ist %time% immer gleich?
3. Hat einer eine Idee wie man die Stellen der Zahl immer gleich der Stellen von %end% ist?
Wenn %end% zweistellig ist, dann 01, 02, 03, ..., 09, 10...
Wenn %end% dreistellig ist, dann 001, 002, 003,..., 009, 010, ..., 100,...
@echo off
set prefix=Dummy_
set start=1
set end=50
set size=1024
for /L %%z in (%start%,1,%end%) do (
set /A diff=%end%-%start%-%%z
echo %time% - Creating %prefix%%%z ... %diff% files left
creatfil.exe %prefix%%%z %size%
)
Danke schon mal im vorraus.
Christian
Habe hier ein kleines Problem. Vielleicht kann mir ja einer helfen...
1. Kann mir einer sagen, wieso %diff% nie angezeigt wird?
2. Wieso ist %time% immer gleich?
3. Hat einer eine Idee wie man die Stellen der Zahl immer gleich der Stellen von %end% ist?
Wenn %end% zweistellig ist, dann 01, 02, 03, ..., 09, 10...
Wenn %end% dreistellig ist, dann 001, 002, 003,..., 009, 010, ..., 100,...
@echo off
set prefix=Dummy_
set start=1
set end=50
set size=1024
for /L %%z in (%start%,1,%end%) do (
set /A diff=%end%-%start%-%%z
echo %time% - Creating %prefix%%%z ... %diff% files left
creatfil.exe %prefix%%%z %size%
)
Danke schon mal im vorraus.
Christian
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 68036
Url: https://administrator.de/forum/for-schleife-will-nicht-so-wie-ich-will-68036.html
Ausgedruckt am: 08.04.2025 um 17:04 Uhr
4 Kommentare
Neuester Kommentar
zu 1 und 2 probier mal das:
die zeit ändert sich dabei auch nur wenn rechner zu schnell ist er halt durch
bevor sich die zeit in echt ändert.
@echo off
setlocal enabledelayedexpansion
set prefix=Dummy_
set start=1
set end=50
set size=1024
for /L %%z in (%start%,1,%end%) do (
set /A diff=!end!-!start!-%%z
echo !time! - Creating !prefix!%%z ... !diff! files left
echo !prefix!%%z !size!
)
die zeit ändert sich dabei auch nur wenn rechner zu schnell ist er halt durch
bevor sich die zeit in echt ändert.
Hallo swidch und SteinBeiser!
Für 1. und 2. kann ich mich im Prinzip (delayedexpansion für %start%, %end% und %prefix% ist nicht erforderlich, da sich die Werte in der Schleife nicht ändern) nur anschließen, zusammen mit 3. sähe das dann etwa so aus:
Grüße
bastla
Für 1. und 2. kann ich mich im Prinzip (delayedexpansion für %start%, %end% und %prefix% ist nicht erforderlich, da sich die Werte in der Schleife nicht ändern) nur anschließen, zusammen mit 3. sähe das dann etwa so aus:
@echo off & setlocal enabledelayedexpansion
set prefix=Dummy_
set start=1
set end=50
set size=1024
set /a Offset=1
set /a P=0
set /a T=%end%
:Loop
set /a T=%T%/10
set /a P+=1
set /a Offset*=10
if %T% gtr 0 goto :Loop
for /L %%z in (%start%,1,%end%) do (
set /A diff=%Offset%+%end%-%start%-%%z + 1
echo !time! - Creating %prefix%%%z ... !diff:~-%P%! files left
creatfil.exe %prefix%%%z %size%
)
Grüße
bastla
@bastla
war ja nur damits einheitlicher ist.
ich glaube aber das die stellenanzahl auf
%prefix%%%z bezogen ist damit beim createfil einheitliche dateinamen herauskommen.
war ja nur damits einheitlicher ist.
ich glaube aber das die stellenanzahl auf
%prefix%%%z bezogen ist damit beim createfil einheitliche dateinamen herauskommen.
@SteinBeiser
Grüße
bastla
ich glaube aber das die stellenanzahl auf %prefix%%%z bezogen ist damit beim createfil einheitliche dateinamen herauskommen.
Damit hast Du sicher Recht. Dann müsste es so aussehen:for /L %%z in (%start%,1,%end%) do (
set /a diff=%end%-%start%-%%z + 1
set /a Nr=%Offset%+%%z
set "Name=%prefix%!Nr:~-%P%!"
echo !time! - Creating !Name! ... !diff! files left
creatfil.exe !Name! %size%
)
Grüße
bastla