OddZen Skrevet 13. desember 2006 Del Skrevet 13. desember 2006 Hvis jeg skulle f. eks starte opp et installasjonsprogram, la oss si windows live messenger. installasjonsfilen ligger på E:\Programmer\Formatering og heter Install_Messenger hvordan vil dette scriptet bli seende ut da? Lenke til kommentar
Thor. Skrevet 13. desember 2006 Del Skrevet 13. desember 2006 Hvordan skal det innstaleres da? Lenke til kommentar
OddZen Skrevet 13. desember 2006 Del Skrevet 13. desember 2006 Hvordan skal det innstaleres da? Hva mener du? Skal først teste det på PCen her, slik at installasjonsprogramet starter opp. Men hadde hovedsakelig tenkt å bruke det på server på skolen, slik at jeg kunne ordne slik at f. eks adobe reader blir automatisk installert, eller i første omgang bare installasjonsprogramet starter opp ved hjelp av et script. Lenke til kommentar
Skagen Skrevet 13. desember 2006 Del Skrevet 13. desember 2006 (endret) @ECHO OFF E:\Progra~1\Format~1\Instal~1.EXE I gamledager kunne man legge inn ting som skulle skje automatisk ved oppstart i autoexec.bat på C:\, men jeg er usikker på om dette enda er mulig i Win2K/XP. Uansett kan du legge en snarvei til .bat-fila som utfører ting automatisk i Startup på Start-menyen. Krever dog at brukere har logget inn på 2K/XP-kontoen sin før .bat-fila vil kjøre. CMD/MS-DOS støtter ikke mapper/filnavn lengre enn 8 bokstaver/tall, derfor kommer kun de 6 første bokstaver/tall med, etterfulgt av ~1 som indikerer at CMD/MS-DOS har forenklet mappe/filnavnet. Tungvint, men sånn er det dessverre. Endret 13. desember 2006 av skag1 Lenke til kommentar
OddZen Skrevet 13. desember 2006 Del Skrevet 13. desember 2006 (endret) Haha funket meget bra Men en ting jeg lurer på @ECHO OFFE:\Progra~1\Format~1\Instal~1.EXE Hvorfor må man ikke skrive f. eks start før E:\Progra~1\Format~1\Instal~1.EXE? Uansett kan du legge en snarvei til .bat-fila som utfører ting automatisk i Startup på Start-menyen. Krever dog at brukere har logget inn på 2K/XP-kontoen sin før .bat-fila vil kjøre. Men hvordan ville dette fungere i praksiss da? Har også hadt problemer hvis jeg skulle for eksempel kopiere en fil til en annen mappe f. eks Hvordan gjør man dette? Hvis jeg skal starte en videofil som ligger i mappa F:\Film & TV\My name is Earl filen heter My.Name.Is.Earl.S02E09.HDTV.XviD-XOR Hva skal jeg da skrive for å få den til å spille av? Endret 13. desember 2006 av LeanFear Lenke til kommentar
Skagen Skrevet 13. desember 2006 Del Skrevet 13. desember 2006 (endret) CMD i Windows er egentlig en MS-DOS-klone i Windows. MS-DOS var kommandobasert, og syntaksen tillot at man startet programmer bare ved å skrive filnavnet direkte. Heller trenger man ikke å spesifisere filetternavn (extention), så du kan også utelate .EXE/.COM/.BAT i eksekuterbare filer. Mange windowsprogrammer tillater at man starter de fra CMD med parametre, men jeg er usikker på om dette er noe som Windows tar seg av, eller om støtte for slikt er avhengig av programmet i seg selv. Men dersom du bruker VLC kan du jo teste dette slik: @ECHO OFF C:\%programfiles%\VideoL~1VLC\VLC.EXE F:\Film~1\My~1\My.Nam~1.AVI Jeg tviler sterkt på at dette vil fungere, siden jeg ikke husker hvordan CMD/MS-DOS håndterer mellomrom (om det bare brytes med ~1), samt at filnavnet på fila du vil spilles av vil hete noe annet siden du trolig har mange filer som har de 10 første bokstavene/tallene identisk. Da kan filnavnet være f.eks My.Nam~7.AVI, så jeg anbefaler deg heller å navigere til mappa filene ligger i og skriv DIR så du kan se hva de enkelte filene heter. Ting hadde vært mye enklere om CMD hadde støttet lange filnavner med mellomrom Edit: Bemerk også %programfiles% som er en variabel satt av Windows. På denne måten slipper du å ta hensyn til forskjellige språkversionen av Windows (f.eks Program Files vs. Programfiler). For en liste over flere slike variabler skriver du SET i CMD og trykker enter. Du kan også lage dine egne variabler med SET variabel=innhold, og teste de slik jeg gjør i mine andre batcher jeg har postet tidligere i tråden med IF-setninger. Endret 13. desember 2006 av skag1 Lenke til kommentar
OddZen Skrevet 13. desember 2006 Del Skrevet 13. desember 2006 (endret) Utrolig morro å sitte å finne ut slike ting Jeg måtte derimot bruke dir for at jeg skulle kunne i det hele tatt komme meg fram til de forskjellige filene. Men jeg trengte ikke å ha hele scriptet med både VLC og filmfilen i, jeg trengte kun å ha filmfilen. Tror jeg skal greie å putte sammen et skript til serveren nå, men det som blir det store problemet er at den blir å starte hver eneste gang en bruker logger seg på, selv om programmet er installert fra før av. Har du noe forslag til hvordan jeg skal kunne løse det? Endret 13. desember 2006 av LeanFear Lenke til kommentar
Skagen Skrevet 14. desember 2006 Del Skrevet 14. desember 2006 (endret) Du kan sjekke om filer som kun vil eksistere når programmet er installert finnes. Hvis batchen ikke finner disse filene vil den f.eks kjøre installasjonsprogrammet - dersom den finner installasjonsfilen F.eks sjekke om VLC er installert: @ECHO OFF IF EXIST C:\%programfiles%\VideoL~1\VLC\VLC.EXE GOTO :END IF NOT EXIST C:\Download\vlc-0.~1.exe GOTO :ERROR C:\Download\vlc-0.~1.exe :ERROR ECHO. ECHO C:\Download\vlc-0.~1.exe appears to be missing. PAUSE :END Edit: Manglet en essensiell skråstrek.. Endret 14. desember 2006 av skag1 Lenke til kommentar
OddZen Skrevet 14. desember 2006 Del Skrevet 14. desember 2006 Funket perfekt, etter noen justeringer Men har et siste problem jeg skal jo automatisk installere programmer over på andre brukere som er i mitt domene. Det jeg må få til er at jeg henter filene fra servern på nettverket, \\singapore.2ika\sysvol der skal jeg hente ut filen. Hvordan får jeg tillgang til dit via CMD? \\singapore.2ika\sysvol ligger under my network places. Trenger svar fort, sitter på skolen å skal bli ferdig med dette Lenke til kommentar
Skagen Skrevet 14. desember 2006 Del Skrevet 14. desember 2006 (endret) Har aldri prøvet å akksessere andre maskiner i nettverk via CMD. Men du kan prøve følgende: NET \\singapore.2ika\sysvol\filnavn.ext er usikker på om NET-kommandoen kan gjøre dette, men du får teste litt med NET. Skriv NET -? for liste over parametre og syntaks, og f.eks NET SEND -? for mer info om SEND-funksjonen. Endret 14. desember 2006 av skag1 Lenke til kommentar
OddZen Skrevet 14. desember 2006 Del Skrevet 14. desember 2006 Her stoppet det opp Men men takk for hjelpa har lært masse Lenke til kommentar
Skretch92 Skrevet 24. desember 2006 Del Skrevet 24. desember 2006 hva er gerent med denne commandoen? @echo off cls echo skriv inn et gaming ord set /p lol= IF %lol% equ lol goto lol cls echo ikke i liste pause exit :lol cls echo laugh out loud pause echo skriv inn et gaming ord set /p omg= IF %omg% equ omg goto omg cls echo ikke i liste :omg echo ow my good pause exit det som er meningen at skal skje er at den som opner programme skal kunne skrive inn det gaming orde han/henne lurer på hva betyr så sier programme hva det betyr Lenke til kommentar
Skretch92 Skrevet 24. desember 2006 Del Skrevet 24. desember 2006 hva er gerent med denne commandoen? @echo off cls echo skriv inn et gaming ord set /p lol= IF %lol% equ lol goto lol cls echo ikke i liste pause exit :lol cls echo laugh out loud pause echo skriv inn et gaming ord set /p omg= IF %omg% equ omg goto omg cls echo ikke i liste :omg echo ow my good pause exit det som er meningen at skal skje er at den som opner programme skal kunne skrive inn det gaming orde han/henne lurer på hva betyr så sier programme hva det betyr Lenke til kommentar
Skagen Skrevet 25. desember 2006 Del Skrevet 25. desember 2006 Du skriver samme kode flere ganger, noe som er litt unødvendig. Forøvrig anbefaler jeg deg å bruke /i i IF-setningene dine, ellers er input/svar case-sensitiv! Jeg ville heller gjort det slik: @ECHO OFF :ASK CLS ECHO. SET /P INPUT=Skriv inn et gaming-ord (X = Avslutt) IF /I "%INPUT%"=="" GOTO :ERROR IF /I "%INPUT%"=="X" GOTO :END IF /I "%INPUT%"=="OMG" GOTO :OMG IF /I "%INPUT%"=="LOL" GOTO :LOL IF /I "%INPUT%"=="WTF" GOTO :WTF :ERROR ECHO. ECHO Du skrev ingen ord. Prøv igjen. PAUSE GOTO :ASK :OMG ECHO. ECHO Oh My God. PAUSE GOTO :ASK :LOL ECHO. ECHO Laughing Out Loud. PAUSE GOTO :ASK :WTF ECHO. ECHO What The F**k. PAUSE GOTO :ASK :END EXIT Lenke til kommentar
frodrikk Skrevet 15. januar 2007 Del Skrevet 15. januar 2007 Kan ikke så mye om dette her så hvordan kan man skrive inn rett passord også åpne et program, men bare hvis man har riktig passord?? =S Lenke til kommentar
LooneyTune Skrevet 15. januar 2007 Forfatter Del Skrevet 15. januar 2007 Eksempel: @echo off cls echo Skriv inn passord! set /p passord= if %passord% equ eksempel goto rett cls echo Feil passord! pause exit :rett echo Rett passord! start firefox.exe pause exit Dette programmet ville kun akseptere passordet eksempel, vis brukeren skriver rett passord ville programmet hoppe til delen der det åpner firefox.exe. Vis ikke vil brukeren få en melding som sier "Feil passord!", og programmet avsluttes. Anbefaler deg å lese guiden og lære batch skikkelig... Lenke til kommentar
Skagen Skrevet 15. januar 2007 Del Skrevet 15. januar 2007 (endret) Problemet med å lage passordbeskyttelse i batch er at det bare er å se på innholdet i batchfila for å finne ut hva passordet er. Et annet problem er dersom det er en .EXE/.COM eller annen vanlig eksekuterbar fil du vil kjøre, må filen allerede finnes, noe som betyr man kan starte programmet direkte istedet for å gå igjennom passordbeskyttelsen i batchen først. Men det går an å endre attributene på filer, slik at de er skjult. Brukere som ikke er spesielt kompetente på filattributasjon, etc, vil ikke klare å omgå passordbeskyttelsen, men kanskje de er i stand til å finne ut passordet ved å titte på kildekoden i batchen. Uansett, her er en måte å gjøre det på: Programfila du vil kjøre kaller jeg her PROGRAM.EXE, og er ikke skjult med filattributasjon. Passordet for å få kjørt programmet kaller jeg 123ABC Dersom du vil at passordet skal være 'case-sensitiv', altså skille mellom små og store bokstaver, fjerner du /I i IF-setningene. @ECHO OFF CLS SET PASSWORD=ABC123 SET /P INPUT=Please enter password... (X = Abort) IF /I "%INPUT%"=="X" GOTO :END IF /I "%INPUT%"=="123ABC" GOTO :RUN GOTO :WRONG :RUN CLS PROGRAM.EXE GOTO :END :WRONG ECHO. ECHO Wrong password. GOTO :END :END Endret 15. januar 2007 av skag1 Lenke til kommentar
frodrikk Skrevet 15. januar 2007 Del Skrevet 15. januar 2007 (endret) @echo off cls echo Skriv inn passord! set /p passord= IF %haha% equ lol goto rett cls echo Feil passord! pause exit :rett cls echo rett passord! start itunes.exe pause exit er det riktig? isåfall funker det ikke på meg =S passordet skulle ha vært "haha" Endret 15. januar 2007 av frodrikk Lenke til kommentar
LooneyTune Skrevet 15. januar 2007 Forfatter Del Skrevet 15. januar 2007 (endret) Er du sikker på at iTunes.exe er riktig? Kjør cmd og skriv start Itunes.exe. Btw, glemte å si at brukeren bare kunne redigere batch fila og se passordet... Edit: Har testet scriptet mitt over, og det fungerte fint... Endret 15. januar 2007 av LooneyTune Lenke til kommentar
frodrikk Skrevet 15. januar 2007 Del Skrevet 15. januar 2007 Er du sikker på at iTunes.exe er riktig? Kjør cmd og skriv start Itunes.exe. Btw, glemte å si at brukeren bare kunne redigere batch fila og se passordet... 7729017[/snapback] ja sjekka, itunes.exe heter den. og samma om man kan se passordet, ingen i min familie skjønner det uansett =P Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå