lundi 24 octobre 2016

Batch Can't Set inside IF Block

so i am looking to expand this batch file to account for everyday of the week, im currently testing it with 1 day but once i get that finalized i can expand easily but i get to the issue where i can not set values inside mt if day statements and i tried setting expansion delay and using ! instead of % but i get the same "missing" operator" error on the second line of the IF statement. Does anyone have any thoughts for me? here is the script: please start about half way in at the "REM if %DAY% EQU Mon(" line everything before that is just a reference need be: Thank you

@echo off

setlocal enabledelayedexpansion

date /t>nul
for /f "tokens=1 delims= " %%i in ('date /t') do set DAY=%%i

    type "C:\My Scripts\Temp Files\Mon.txt">nul
for /f "tokens=7 delims=?   :" %%i in ('type "C:\My Scripts\Temp Files\Mon.txt"') do set MonHrWrk=%%i
for /f "tokens=8 delims=?   :" %%i in ('type "C:\My Scripts\Temp Files\Mon.txt"') do set MonMinWrk=%%i  
for /f "tokens=6 delims=?   ." %%i in ('type "C:\My Scripts\Temp Files\Mon.txt"') do set MonHrChrg=%%i
for /f "tokens=7 delims=?   ." %%i in ('type "C:\My Scripts\Temp Files\Mon.txt"') do set MonMinChrg=%%i
    type "C:\My Scripts\Temp Files\Tue.txt">nul
for /f "tokens=7 delims=?   :" %%i in ('type "C:\My Scripts\Temp Files\Tue.txt"') do set TueHrWrk=%%i
for /f "tokens=8 delims=?   :" %%i in ('type "C:\My Scripts\Temp Files\Tue.txt"') do set TueMinWrk=%%i  
for /f "tokens=6 delims=?   ." %%i in ('type "C:\My Scripts\Temp Files\Tue.txt"') do set TueHrChrg=%%i
for /f "tokens=7 delims=?   ." %%i in ('type "C:\My Scripts\Temp Files\Tue.txt"') do set TueMinChrg=%%i
    type "C:\My Scripts\Temp Files\Wed.txt">nul
for /f "tokens=7 delims=?   :" %%i in ('type "C:\My Scripts\Temp Files\Wed.txt"') do set WedHrWrk=%%i
for /f "tokens=8 delims=?   :" %%i in ('type "C:\My Scripts\Temp Files\Wed.txt"') do set WedMinWrk=%%i  
for /f "tokens=6 delims=?   ." %%i in ('type "C:\My Scripts\Temp Files\Wed.txt"') do set WedHrChrg=%%i
for /f "tokens=7 delims=?   ." %%i in ('type "C:\My Scripts\Temp Files\Wed.txt"') do set WedMinChrg=%%i
    type "C:\My Scripts\Temp Files\Thu.txt">nul 
for /f "tokens=7 delims=?   :" %%i in ('type "C:\My Scripts\Temp Files\Thu.txt"') do set ThuHrWrk=%%i
for /f "tokens=8 delims=?   :" %%i in ('type "C:\My Scripts\Temp Files\Thu.txt"') do set ThuMinWrk=%%i  
for /f "tokens=6 delims=?   ." %%i in ('type "C:\My Scripts\Temp Files\Thu.txt"') do set ThuHrChrg=%%i
for /f "tokens=7 delims=?   ." %%i in ('type "C:\My Scripts\Temp Files\Thu.txt"') do set ThuMinChrg=%%i
    type "C:\My Scripts\Temp Files\Fri.txt">nul
for /f "tokens=7 delims=?   :" %%i in ('type "C:\My Scripts\Temp Files\Fri.txt"') do set FriHrWrk=%%i
for /f "tokens=8 delims=?   :" %%i in ('type "C:\My Scripts\Temp Files\Fri.txt"') do set FriMinWrk=%%i  
for /f "tokens=6 delims=?   ." %%i in ('type "C:\My Scripts\Temp Files\Fri.txt"') do set FriHrChrg=%%i
for /f "tokens=7 delims=?   ." %%i in ('type "C:\My Scripts\Temp Files\Fri.txt"') do set FriMinChrg=%%i

REM if %DAY% EQU Mon(
set /a WeekHrWrk1=%MonHrWrk%+%TueHrWrk%+%WedHrWrk%+%ThuHrWrk%+%FriHrWrk% set /a WeekHrWrk2=%WeekHrWrk1%*60 set /a WeekMinWrk1=%MonMinWrk%+%TueMinWrk%+%WedMinWrk%+%ThuMinWrk%+%FriMinWrk%
set /a WeekHrWrk3=%WeekHrWrk2%+%WeekMinWrk1% set /a WeekHrWrk=%WeekHrWrk3%/60 set /a WeekMinWrk=%WeekHrWrk3%%%60

        set /a WeekHrChrg1=%MonHrChrg%+%TueHrChrg%+%WedHrChrg%+%ThuHrChrg%+%FriHrChrg%              
        set /a WeekHrChrg2=%WeekHrChrg1%*60
        set /a WeekMinChrg1=%MonMinChrg%+%TueMinChrg%+%WedMinChrg%+%ThuMinChrg%+%FriMinChrg%            
        set /a WeekMinChrg2=%WeekMinChrg1%/100

        set /a WeekHrChrg=%WeekHrChrg1%+%WeekMinChrg2%
        set /a WeekMinChrg=%WeekMinChrg1%%%100

        set /a WeekHrWrkAvg1=%WeekHrWrk%*60+%WeekMinWrk%
        set /a WeekHrWrkAvg2=%WeekHrWrkAvg1%/5                                  
        set /a WeekHrWrkAvg=%WeekHrWrkAvg2%/60
        set /a WeekMinWrkAvg=%WeekHrWrkAvg2%%%60

        set /a WeekHrChrgAvg1=%WeekHrChrg1%*60
        set /a WeekHrChrgAvg2=%WeekMinChrg1%*60/100
        set /a WeekHrChrgAvg1=%WeekHrChrgAvg1%+%WeekHrChrgAvg2%
        set /a WeekHrChrgAvg2=%WeekHrChrgAvg1%/5                                
        set /a WeekHrChrgAvg=%WeekHrChrgAvg2%/60
        set /a WeekMinChrgAvg3=%WeekHrChrgAvg2%%%60
        set /a WeekMinChrgAvg=%WeekMinChrgAvg3%*100/60

        if %WeekMinWrk% LSS 10 (set WeekMinWrk=0%WeekMinWrk%)
        if %WeekMinChrg% LSS 10 (set WeekMinChrg=0%WeekMinChrg%)


echo.                   Totals:   %WeekHrWrk%:%WeekMinWrk%        %WeekHrChrg%.%WeekMinChrg%>"C:\My Scripts\Temp Files\sums_Temp.txt"

if %WeekMinWrkAvg% LSS 10 (set WeekMinWrkAvg=0%WeekMinWrkAvg%)

echo.                      Average:    %WeekHrWrkAvg%:%WeekMinWrkAvg%>"C:\My Scripts\Temp Files\Avg_Temp.txt"          %WeekHrChrgAvg%.

%WeekMinChrgAvg%

copy /B "C:\My Scripts\Temp Files\sums_Temp.txt"+"C:\My Scripts\Temp Files\Avg_Temp.txt" "C:\My Scripts\Temp Files\Totals_Temp.txt">nul

del "C:\My Scripts\Temp Files\sums_Temp.txt"
del "C:\My Scripts\Temp Files\Avg_Temp.txt"

REM )

Aucun commentaire:

Enregistrer un commentaire