Med version 7 af TeamShare tager Lector næste skridt og bygger en platform for AI-agenter, der i højere grad kan følge medarbejderen gennem hele arbejdsprocessen.
Det er vist ikke muligt at lave den slags menu i en .bat fil, problemet er at finde en metode til at få sat krydset.
Jeg lavede lige en anden type menu, som kan bruges hvis DOS er Win2000 eller WinXP. Ideen er at brugeren taster sine valg (i eksemplet kan der vælges mellem m i o), og trykker enter:
@echo off echo Hvilke Browsere vil du have instaleret: echo m Mozilla echo i Internet Explorer echo o Opera
set /P Valg=">"
if not [%valg:m=%]==[%valg%] Echo Instaler Mozilla if not [%valg:i=%]==[%valg%] Echo Instaler Internet Explorer if not [%valg:o=%]==[%valg%] Echo Instaler Opera
Hvordan laver jeg bat-fil, som henviser til den bat-fil, som f.eks installere adobe reader 6? Kan man vælge, at installere flere programmer på samme tid?
Media player 9.bat ------------------ @echo off ECHO. ECHO Installing Windows Media Player 9 ECHO Please wait... start /wait %systemdrive%\programmer\WMP9\MPSetup.exe /Q:A /R:N
Det virker til at finde ud af. Kan jeg lave det sådan, at man kan vælge at køre alle programmer (f.eks. vælg a for alle programmer)? Kan man så evt. lave det sådan at man kan vælge a minus f.eks. m?
Mulighederne er mange, jeg har lavet en lidt udvidet version.
Her kan man vælge at til og fra en default liste, det gøres ved at skrive hvilke programmer der skal tilføjes til listen evt. efterfulgt af et - og hvilke programmer fra default listen der ikke skal instaleres, man skriver a for at få instaleret alle (eller ingen), f.ex:
i-o -> Tilføj IE, fjern Opera fra listen. a-m -> Alt undtagen Mozilla. i -> Tilføj IE til listen. -> Default
Desværre skal man skrive mindst et tegn inden -, det kan i eksemplet være f.ex. d, f.ex: d-o -> Default minus Opera.
@echo off setlocal rem Set default options set InsIE=0 set InsMoz=1 set InsOpera=1
echo Hvilke Browsere vil du have instaleret, default is Mozilla and Opera: echo m Mozilla echo i Internet Explorer echo o Opera set Valg= set /P Valg=">"
for /F "tokens=1,2 delims=- " %%I in ("%Valg%") do call :GetOpt %%I %%J
if not [%InsMoz%]==[0] echo Instaler Mozilla if not [%InsIE%]==[0] echo Instaler Internet Explorer if not [%InsOpera%]==[0] echo Instaler Opera
goto :eof :GetOpt Set Add=%1 set Sub=%2
if not [%Add:a=%]==[%Add%] ( set InsMoz=1 set InsIE=1 set InsOpera=1 ) if not [%Add:m=%]==[%Add%] Set InsMoz=1 if not [%Add:i=%]==[%Add%] Set InsIE=1 if not [%Add:o=%]==[%Add%] Set InsOpera=1
if [%Sub%]==[] goto :eof if not [%Sub:a=%]==[%Sub%] ( set InsMoz=0 set InsIE=0 set InsOpera=0 ) if not [%Sub:i=%]==[%Sub%] Set InsIE=0 if not [%Sub:m=%]==[%Sub%] Set InsMoz=0 if not [%Sub:o=%]==[%Sub%] Set InsOpera=0
Jeg har fået rettet lidt i scriptet. Kan man ikke bare vælge et program fra default listen, ved et direkte valg (f.eks. I)? Når jeg prøver det, installeres alle programmerne fra default listen. Skal den det eller gør jeg noget forkert?
@echo off setlocal rem Set default options set InsIE=1 set InsMP=1 set InsDX=1 set InsAR=0
echo Disse programmer er default: echo [I] Internet Explorer 6 echo [W] Windows Mediaplayer 9 echo [X] DirectX 9.0b echo. echo Programmer udover default: echo [R] Adobe Reader 6 echo. echo Indtast dit valg her: set Valg= set /P Valg=">"
for /F "tokens=1,2 delims=- " %%I in ("%Valg%") do call :GetOpt %%I %%J
if not [%InsIE%]==[0] call "%systemdrive%\Bat\IE6.bat" if not [%InsMP%]==[0] call "%systemdrive%\Bat\Media player.bat" if not [%InsDX%]==[0] call "%systemdrive%\Bat\directx.bat" if not [%InsAR%]==[0] call "%systemdrive%\Bat\AdobeReader6.bat"
goto :eof :GetOpt Set Add=%1 set Sub=%2
if not [%Add:a=%]==[%Add%] ( set InsIE=1 set InsMP=1 set InsDX=1 set InsAR=1 ) if not [%Add:I=%]==[%Add%] Set InsIE=1 if not [%Add:W=%]==[%Add%] Set InsMP=1 if not [%Add:X=%]==[%Add%] Set InsDX=1 if not [%Add:R=%]==[%Add%] Set InsAR=1
if [%Sub%]==[] goto :eof if not [%Sub:a=%]==[%Sub%] ( set InsIE=0 set InsMP=0 set InsDX=0 set InsAR=0 ) if not [%Sub:I=%]==[%Sub%] Set InsIE=0 if not [%Sub:W=%]==[%Sub%] Set InsMP=0 if not [%Sub:X=%]==[%Sub%] Set InsDX=0 if not [%Sub:R=%]==[%Sub%] Set InsAR=0
Som det er lavet vil den altid instalere IE. medmindre at brugeren skriver f.ex x-I, dvs. aktivt fravælger IE.
Man kan lave det om så alle er fravalgt (set xxx=0) og så sætte Valg til at være default inden "set /P ...". Så vil den instalere default hvis brugeren blot trykker enter. (Det vist en udokumenteret feature; set /P X= ændrer ikke på X hvis man kun trykker enter.), hvis brugeren derimod skriver I vil den kun instalere IE. Man kunne også lave det så d betyder default, så kan brugeren skrive dR for at få default + AcrobatReader, elller d-I for at få default minus IE. Det ville se ca. sådan ud: @echo off setlocal rem Set default options set InsIE=0 set InsMP=0 set InsDX=0 set InsAR=0
echo Disse programmer er default: echo [I] Internet Explorer 6 echo [W] Windows Mediaplayer 9 echo [X] DirectX 9.0b echo. echo Programmer udover default: echo [R] Adobe Reader 6 echo. echo Indtast dit valg her: set Valg=d set /P Valg=">"
for /F "tokens=1,2 delims=- " %%I in ("%Valg%") do call :GetOpt %%I %%J
if not [%InsIE%]==[0] echo IE if not [%InsMP%]==[0] echo MP if not [%InsDX%]==[0] echo DX if not [%InsAR%]==[0] echo AR
goto :eof :GetOpt Set Add=%1 set Sub=%2
if not [%Add:a=%]==[%Add%] ( set InsIE=1 set InsMP=1 set InsDX=1 set InsAR=1 ) if not [%Add:d=%]==[%Add%] ( set InsIE=1 set InsMP=1 set InsDX=1 set InsAR=0 ) if not [%Add:I=%]==[%Add%] Set InsIE=1 if not [%Add:W=%]==[%Add%] Set InsMP=1 if not [%Add:X=%]==[%Add%] Set InsDX=1 if not [%Add:R=%]==[%Add%] Set InsAR=1
if [%Sub%]==[] goto :eof if not [%Sub:a=%]==[%Sub%] ( set InsIE=0 set InsMP=0 set InsDX=0 set InsAR=0 ) if not [%Sub:I=%]==[%Sub%] Set InsIE=0 if not [%Sub:W=%]==[%Sub%] Set InsMP=0 if not [%Sub:X=%]==[%Sub%] Set InsDX=0 if not [%Sub:R=%]==[%Sub%] Set InsAR=0
d+r=default + Adobe Reader 6 d-w=default - Windows Mediaplayer 9
i=Internet Explorer 6
Jeg har forstået det rigtigt?
Er det bedst, at give programmer bogstaver eller kan man også give dem tal? a og d er jo taget. Kan man godt havde flere plusser og minusser i indtastningen?
Hvordan skriver man valgmulighederne på en forståelig måde (så det også kan bruges af andre)?
Noget i stil med dette: [enter] default [d] default [a] all
Hvis man kan give programmerne logiske bogstaver vil jeg mene at det er lettere at bruge. Men er der to programmer der starter med det samme bogstav undgår man måske nogen fejl ved at bruge tal.
Som det er lavet kan der kun være en plus gruppe og en minus gruppe. Man kan (måske) godt lave det så der er muligt at have flere, men det er vist mere end almindeligt besværligt.
Jeg lavede lige en anden model, der ligner dit oprindelige forslag lidt mere, og som måske er lidt lettere for brugeren at bruge:
@echo off setlocal
rem Set default options set InsIE=0 set InsMP=1 set InsDX=1 set InsAR=0
:MenuTop cls if %InsIE% EQU 0 ( echo I [ ] Internet Explorer ) else ( echo I [X] Internet Explorer )
if %InsMP% EQU 0 ( echo M [ ] Media Player ) else ( echo M [X] Media Player )
if %InsAR% EQU 0 ( echo A [ ] Adobe Reader ) else ( echo A [X] Adobe Reader )
if %InsDX% EQU 0 ( echo D [ ] DirecX ) else ( echo D [X] DirecX )
echo Type Letter + ^<Enter^> to toggle, ^<Enter^> to install set Valg= Set /P Valg=">"
if [%Valg%]==[] goto :Install if not [%Valg:I=%]==[%Valg%] Set /A "InsIE = %InsIE% ^1" if not [%Valg:M=%]==[%Valg%] Set /A "InsMP = %InsMP% ^1" if not [%Valg:D=%]==[%Valg%] Set /A "InsDX = %InsDX% ^1" if not [%Valg:A=%]==[%Valg%] Set /A "InsAR = %InsAR% ^1" goto :MenuTop
:Install if not [%InsIE%]==[0] echo IE if not [%InsMP%]==[0] echo MP if not [%InsDX%]==[0] echo DX if not [%InsAR%]==[0] echo AR
Ja, du skal kalde IE.bat for at instalere og ikke blot skrive at du vil instalere.
Jeg er ikke sikker på at jeg forstår hvilken sti det er du skal have.
Skal scriptet ligge på CD'en? Hvis det skal og IE.bat ligger i en mappe i roden der hedder bat kalder du det blot med "\bat\ie.bat", hvis bat er en undermappe til den hvori scriptet ligger skriver du blot "bat\ie.bat" eller ".\bat\ie.bat" (. er nuværende mappe og drev).
Jeg kender ikke nogen simpel metode til at finde ud af hvilket drev CD'en sidder i.
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.