25. september 2003 - 10:16Der er
7 kommentarer og 1 løsning
was unexpected at this time.
Hej,
Jeg er ved at lave et .bat job på vores Win2k maskiner, det ser således ud:
------ KODE NEDENUNDER: @echo off rem The following lines uninstalls/reinstalls TI ConQuest for ClearCase users.. rem depending on their current conquest installation if EXIST c:\progra~1\conquest ( echo. echo Status: Updating your ConQuest installation, please be patient... rem start if's IF %CONQUEST_PROJECT% == G23M ( echo. echo Status: Uninstalling old G23M (stability) installation! call \\agfiler01\conquest\uninstall\conq_uninstall_old.bat echo. echo Status: Deleting C:\PROGRAM FILES\CONQUEST rmdir /Q /S c:\progra~1\conquest echo. echo Status: Installing new G23M (stability) installation! call \\agfiler01\conquest\uninstall\conq_install_g23m.bat ) IF %CONQUEST_PROJECT% == UMTS ( echo. echo Status: Uninstalling old UMTS installation! call \\agfiler01\conquest\uninstall\conq_uninstall_old.bat echo. echo Status: Deleting C:\PROGRAM FILES\CONQUEST rmdir /Q /S c:\progra~1\conquest echo. echo Status: Installing new UMTS installation! call \\agfiler01\conquest\uninstall\conq_install_umts.bat ) rem end if's ) ------ KODE OVENOVER:
Men jeg får hele tiden fejl beskeden: installation! was unexpected at this time.
Der er måske et problem med "IF %CONQUEST_PROJECT% == G23M" og "IF %CONQUEST_PROJECT% == UMTS" hvis CONQUEST_PROJECT ikke er defineret. Det er bedre at skrive: IF [%CONQUEST_PROJECT%]==[G23M]
Ellers må du fjerne "@echo off" og kikke på output, så du/vi kan se hvor fejlen opstår.
her er hvordan mit script ser ud nu: rem @echo off rem The following lines uninstalls/reinstalls TI ConQuest for ClearCase users.. rem depending on their current conquest installation if EXIST c:\progra~1\conquest ( echo. echo Status: Updating your ConQuest installation, please be patient... rem start if's IF [%CONQUEST_PROJECT%]==[G23M] ( echo. rem echo Status: Uninstalling old G23M (stability) installation! call \\agfiler01\conquest\uninstall\conq_uninstall_old.bat echo. echo Status: Deleting C:\PROGRAM FILES\CONQUEST rmdir /Q /S c:\progra~1\conquest echo. echo Status: Installing new G23M (stability) installation! call \\agfiler01\conquest\uninstall\conq_install_g23m.bat ) IF [%CONQUEST_PROJECT%]==[UMTS] ( echo. echo Status: Uninstalling old UMTS installation! call \\agfiler01\conquest\uninstall\conq_uninstall_old.bat echo. echo Status: Deleting C:\PROGRAM FILES\CONQUEST rmdir /Q /S c:\progra~1\conquest echo. echo Status: Installing new UMTS installation! call \\agfiler01\conquest\uninstall\conq_install_umts.bat ) rem end if's )
Fejlmeddelelsen ligner den der kommer når man skriver f.ex "for %I (*) do kk %I" Men der er ingen for loops i scriptet.
Jeg kan ikke umidelbart se nogen fejl i scriptet, så jeg kan kun komme med nogle forslag:
1: Hvad skriver den når den fejler? Åben en dos prompt og skriv: hhh.bat >>error.log Hvor hhh.bat er navnet på batfilen. Åben error.log med f.ex notepad, cut and paste indholdet her.
2: Der står "installation!" fire gange i scriptet, slet det.
3: Ændr alle linier med echo whatever til echo "whatever"
4: Er du sikker på at fejlen ikke kommer fra en af de bat-filer du kalder?
5: Er du sikker på at der ikke er nogen af de bat-filer du kalder der overskriver batfilen?
Hvis det er en == i en if sætning der skal rettes til =, ja så er det weird.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.