- #1
F
FreeKevin
Mitglied
Themenersteller
- Dabei seit
- 08.02.2006
- Beiträge
- 22
- Reaktionspunkte
- 0
Hallo Batch Programmierer,
Ich bin sehr an der Batch Programmierung interessiert, (habe auch schon fast alle Befehle drauf und schon ein paar sehr nützliche tools hergestellt) aber ich habe bis heute immer noch nicht verstanden wie und wofür man diese For Schleifen benutzt.
Vielleicht könnte mir das ein eingefleischter Programmierer nochmal näher erklären (Ich habe schon sämtliche Tutorials dazu durchgelesen aber nie verstanden :| ).
Diesen Script kann man zur Erklärung verwenden:
@echo off
:start
for /F tokens=1,2,3,4,5,6,7 delims=.:, %%1 IN (%date%.%time%) do (
if /i exist z:\tempdat (
if not %%1.%%2.%%3.%%4:%%5:%%6,%%7 == %date%.%time% echo fs-e
%%1.%%2.%%3.%%4:%%5:%%6,%%7 %date%.%time% >> log.txt
)
if /i exist y:\tempdat (
if not %%1.%%2.%%3.%%4:%%5:%%6,%%7 == %date%.%time% echo fs-f
%%1.%%2.%%3.%%4:%%5:%%6,%%7 %date%.%time% >> log.txt
)
if /i exist \\dc1\c$\pcsoft (
if not %%1.%%2.%%3.%%4:%%5:%%6,%%7 == %date%.%time% echo dc1
%%1.%%2.%%3.%%4:%%5:%%6,%%7 %date%.%time% >> log.txt
)
if /i exist \\dc2\c$\pcsoft (
if not %%1.%%2.%%3.%%4:%%5:%%6,%%7 == %date%.%time% echo dc2
%%1.%%2.%%3.%%4:%%5:%%6,%%7 %date%.%time% >> log.txt
)
)
ping fs-e -n 1 -i 1
if %errorlevel% == 1 echo Ping fs-e %date%.%time% >> log.txt
ping fs-f -n 1 -i 1
if %errorlevel% == 1 echo Ping fs-f %date%.%time% >> log.txt
ping dc1 -n 1 -i 1
if %errorlevel% == 1 echo Ping d1 %date%.%time% >> log.txt
ping dc2 -n 1 -i 1
if %errorlevel% == 1 echo Ping dc2 %date%.%time% >> log.txt
sleep 1
goto start
Ich bin sehr an der Batch Programmierung interessiert, (habe auch schon fast alle Befehle drauf und schon ein paar sehr nützliche tools hergestellt) aber ich habe bis heute immer noch nicht verstanden wie und wofür man diese For Schleifen benutzt.
Vielleicht könnte mir das ein eingefleischter Programmierer nochmal näher erklären (Ich habe schon sämtliche Tutorials dazu durchgelesen aber nie verstanden :| ).
Diesen Script kann man zur Erklärung verwenden:
@echo off
:start
for /F tokens=1,2,3,4,5,6,7 delims=.:, %%1 IN (%date%.%time%) do (
if /i exist z:\tempdat (
if not %%1.%%2.%%3.%%4:%%5:%%6,%%7 == %date%.%time% echo fs-e
%%1.%%2.%%3.%%4:%%5:%%6,%%7 %date%.%time% >> log.txt
)
if /i exist y:\tempdat (
if not %%1.%%2.%%3.%%4:%%5:%%6,%%7 == %date%.%time% echo fs-f
%%1.%%2.%%3.%%4:%%5:%%6,%%7 %date%.%time% >> log.txt
)
if /i exist \\dc1\c$\pcsoft (
if not %%1.%%2.%%3.%%4:%%5:%%6,%%7 == %date%.%time% echo dc1
%%1.%%2.%%3.%%4:%%5:%%6,%%7 %date%.%time% >> log.txt
)
if /i exist \\dc2\c$\pcsoft (
if not %%1.%%2.%%3.%%4:%%5:%%6,%%7 == %date%.%time% echo dc2
%%1.%%2.%%3.%%4:%%5:%%6,%%7 %date%.%time% >> log.txt
)
)
ping fs-e -n 1 -i 1
if %errorlevel% == 1 echo Ping fs-e %date%.%time% >> log.txt
ping fs-f -n 1 -i 1
if %errorlevel% == 1 echo Ping fs-f %date%.%time% >> log.txt
ping dc1 -n 1 -i 1
if %errorlevel% == 1 echo Ping d1 %date%.%time% >> log.txt
ping dc2 -n 1 -i 1
if %errorlevel% == 1 echo Ping dc2 %date%.%time% >> log.txt
sleep 1
goto start