Ciao a Tutti,
ho il seguente file.bat
@echo off
setlocal enabledelayedexpansion
set filecontent=
set separator=/
C:
cd C:\inetpub\wwwroot\aesi_quality\fpdb
echo ^$ > prova.txt
dir 20*.bat / B >> prova.txt
for /f %%a in (prova.txt) do (
set currentline=%%a
set filecontent=!filecontent!%separator%!currentline!
)
if "%filecontent:~3,2%" == "20" (
echo "%filecontent%"
for %%f in (20*.bat) do (
%%f >> C:\inetpub\wwwroot\aesi_quality\fpdb\ries_log.txt
del %%f )
)
if not "%filecontent:~3,2%" == "20" ( echo %DATE% %TIME:~0,5% Nessun file trovato >> C:\inetpub\wwwroot\aesi_quality\fpdb\ries_log.txt )
del prova.txt
echo "ciao"
Pause
Questo programma funziona solo che ha un problema dopo il ciclo for.
Infatti dopo l' esecuzione corretta di esso non viene eseguito tutto cio' che sta al di fuori dell' if:
quindi non mi esegue il del prova.txt e nemmeno echo "ciao"
Se commento il ciclo for, allora tutto e' a posto...
Pero' ho bisogno che il file venga cancellato ... come risolvere il problema ??
Come mai succede cio' ?? Grazie mille in anticipo
Problema col ciclo FOR
Moderator: DosItHelp
Re: Problema col ciclo FOR
Can you repost in English?
Re: Problema col ciclo FOR
Sorry,
I' ve a problem with this file BAT
@echo off
setlocal enabledelayedexpansion
set filecontent=
set separator=/
C:
cd C:\inetpub\wwwroot\aesi_quality\fpdb
echo ^$ > prova.txt
dir 20*.bat / B >> prova.txt
for /f %%a in (prova.txt) do (
set currentline=%%a
set filecontent=!filecontent!%separator%!currentline!
)
if "%filecontent:~3,2%" == "20" (
echo "%filecontent%"
for %%f in (20*.bat) do (
%%f >> C:\inetpub\wwwroot\aesi_quality\fpdb\ries_log.txt
del %%f )
)
if not "%filecontent:~3,2%" == "20" ( echo %DATE% %TIME:~0,5% Nessun file trovato >> C:\inetpub\wwwroot\aesi_quality\fpdb\ries_log.txt )
del prova.txt
echo "ciao"
Pause
we can not understand why all the codes after the cicle for (in red) are not executed. In particular del prova.txt and echo "ciao"
Why ??
Thanks a lot in advance !!!
I' ve a problem with this file BAT
@echo off
setlocal enabledelayedexpansion
set filecontent=
set separator=/
C:
cd C:\inetpub\wwwroot\aesi_quality\fpdb
echo ^$ > prova.txt
dir 20*.bat / B >> prova.txt
for /f %%a in (prova.txt) do (
set currentline=%%a
set filecontent=!filecontent!%separator%!currentline!
)
if "%filecontent:~3,2%" == "20" (
echo "%filecontent%"
for %%f in (20*.bat) do (
%%f >> C:\inetpub\wwwroot\aesi_quality\fpdb\ries_log.txt
del %%f )
)
if not "%filecontent:~3,2%" == "20" ( echo %DATE% %TIME:~0,5% Nessun file trovato >> C:\inetpub\wwwroot\aesi_quality\fpdb\ries_log.txt )
del prova.txt
echo "ciao"
Pause
we can not understand why all the codes after the cicle for (in red) are not executed. In particular del prova.txt and echo "ciao"
Why ??
Thanks a lot in advance !!!
Re: Problema col ciclo FOR
Change this line.
to
Code: Select all
%%f >> C:\inetpub\wwwroot\aesi_quality\fpdb\ries_log.txt
to
Code: Select all
CALL %%f >> C:\inetpub\wwwroot\aesi_quality\fpdb\ries_log.txt