Søger du en specifik kategori?

 



Oprettet tir. d. 03. februar 2009 kl. 12:09

enhydralutris
enhydralutris (7.930 point)
Guidens karaktér
1
2
3
4
5

Batch genopfriskning

Denne artikel er en detaljeret gennemgag af det fundamentale i batchfiler til hjemmebrug :-) FEEL THE POWER! ;-)
sidst opdateret: 19/8-08
ændring: tilføjede to ekstra eksempler en der går i dybden om shutdown og en mere "for-sjov" om CD og DIR samt :-)

For alle jer der for længst har glemt hvordan batch filerne kan gøre dagligdagen meget lettere vil jeg tillade mig at give jer en lille opfriskning :-)

mest brugte kommandoer:

echo udskriver en linje
pause holder en "pause" i scriptet
set sætter en variabel
if den vidunderlige "if" kommando

gode til hjemmebrug

start starter en program
CD skifter sti
DIR hvis indhold af mappe
shutdown lukker computeren
net indstillinger osv. om brugere på computeren

okay.. nu til at bruge kommandoerne :-)


::fjerner promptlinjen
@echo off

::dette kaldes en "label", den kan bruges hvis man skal hoppe rundt i scriptet
:loop

::clear screen
cls
::tid til at give status for tid og dato... %TIME% og %DATE% er indbyggede variabler, så de laver arbejdet selv med at finde tiden
echo The current time is: %TIME%
echo The Current date is: %DATE
:: nu pinger vin localhost 1 gang... hvilket giver os et mindre delay, og output skal IKKE vises ( > NUL)
ping localhost -n 1 > NUL

::og så beder vi scriptet om at gå til label "loop"... dette gør at vi får en forholdsvis præcis tid :-)
goto loop


Okay, det var et ur der hele tiden opdatere tiden og datoen

men hvad hvis man bare skal have et script til at åbne programmer?


::her behøves echo off ikke da det "prompten" ikke behøver at se køn ud :-)

::Her angiver vi bare stien til programmerne der kal åbnes... intet andet er nødvendigt :-) (normalt bruger man dog "start" til at åbne ting, men den er ikke så god til at håndtere flere ting af gangen)
iexplorer.exe
"C:\Program Files\Mozilla Firefox\firefox.exe"


tjaa.. det var meget simpelt.. iexplorer er en "systemfil" så den behøver ikke nogen sti, mens i mozilla firefox er der mellemrum i stinavnet... dette betyder at vi er nød til at bruge gåseøjne :-)


::echo fra
@echo off
::lad os give vinduet en titel
title Fibonacci udregner (med delay)

::nu sætter vi variablerne... her kræver den at man bruger en bestemt parameter da det har med tal at gøre :-)
set /a tal1=0
set /a tal2=1
set /a tal3=0
::det var lidt matematik ;-)

::så til en label så vi kan loope udregningen :-)
:loop

::okay, nu kan jeg vise jer hvordan man bruger matematik delen
if /i %tal2% GEQ 10000000000 (goto STOP)
:: ovenstående sørger for at tallet ikke når for store højder
:: GEQ betyder "Grater or Equal" LEQ betyder "Lesser or equal" EQU betyder "equal" og NEQ betyder "Not equal"
set /a tal3=%tal1% + %tal2%
::godt... nu vil vi gerne udskrive resultatet
echo tal3
::så skal tallene forberedes til næste loop
set /a tal2=%tal3%
set /a tal1=%tal2%
::det var det... så lidt delay (svarende til 2 sekunder)
ping localhost -n 2 > NUL

goto loop


puhaaa... det var matematik :-)

vi mangler noget med tekst :-)

Lad os lave en menu


@echo off
title menu-test
set input=0
:menu
cls
echo =====================
echo        Menu
echo =====================
echo.
echo.
echo 1) valgmulighed 1
echo 2) valgmulighed 2
echo 3) valgmulighed 3
echo 4) valgmulighed 4
echo.
set /p input= indtast
if %input%==1 (goto label1)
if %input%==2 (goto label2)
if %input%==3 (goto label3)
if %input%==4 (goto label4)
goto ERROR

:ERROR
::kommandoerne

:label1
::Kommandoerne

:label2
::kommandoerne

:label3
::Kommandoerne

:label4
::kommandoerne


Her brugte jeg "set /p [variabel]=[tekst]" hvilket gør at man skriver variablens værdi bagpå linjen med teksten man har defineret :-)

Lad os kigge lidt på shutdown kommandoen:


@echo off
::titlen på vinduet skal være shutdown :-)
title shutdown
::farven defineres i HEX, først baggrund så forgrund
color 2E
::2=grøn og E=lysegul

::så sætter vi variablerne
set input=0
set timer=0
set comment=0

:: så laver vi en simpel menu :-)
:menu
echo 1) alm. lukning
echo 2) lukning med timer
echo 3) lukning med timer+kommentar
echo 4) genstart
echo 5) genstart med timer
echo 6) genstart med timer+kommentar
echo 7) log af
echo 8) anuler lukning
echo.
set /p input= ^>
:: denne kommando laver en variabel ( a ) der skifter indhold hver gang kommandoen efter "do" er kørt... indholdet skrives i mellem paranteserne med mellemrum som adskillelse...
FOR %a in (1 2 3 4 5 6 7 8) do if %input%==%a% goto %a%
:: Først kigger den om input er lig 1, hvis den er går den til 1, hvis ikke går den videre til og tjekker om input er 2 osv.
::FOR kommandoen får i dette tilfælde 8 linjer kortet ned til 1 :-)

::en lille error meddelelse hvis input var forkert ^^
echo forkert tastning
ping localhost -n 3 > NUL
cls
goto menu

:1
::/s for "shutdown" og /f for at lukke alle vinduer ned uden at spørge
shutdown /s /f

:2
set /p timer=indtil timer (maks 600 sekunder) ^>
::t for "timer"
shutdown /s /t %timer% /f

:3
set /p timer=instil timer (maks 600 sekunder ^>
set /p comment=skriv en kommentar ^>
:: /c for "comment"
shutdown /s /t %timer% /c %comment% /f

:4
:: /r for "restart"
shutdown /r /f

:5
set /p timer=indtil timer (maks 600 sekunder) ^>
::t for "timer"
shutdown /r /t %timer% /f

:6
set /p timer=instil timer (maks 600 sekunder ^>
set /p comment=skriv en kommentar ^>
:: /c for "comment"
shutdown /r /t %timer% /c %comment% /f

:7
:: her kan muligvis også bruges timer og kommentar :-)
shutdown /l

:8
::/a for "anuler"



Der havde vi lidt om shutdown kommandoen ;-)

Her bruger vi lidt mere "advancerede" koder til CD og DIR:


@echo off
title filer og mapper
color 2E

::variabler
set input=0

:prompt
:: lad os lave vores egne kommandoer ;-) ikke så svært
set /p input=%CD%
FOR %a in (CD FILE) do (
type %input%|find "%a"
if %ERRORLEVEL%=0 goto %a%
)
:: ovenstående tjekker om vi skrev CD eller FILE, foran :-)
:: hvis den finder CD er ERRORLEVEL uforandret (altså 0), hvis den ikke finder CD er ERRORLEVEL lig 1 hvilket gør at den forsøger igen med FILE...

:ERROR
echo forkert kommando
goto prompt

:CD
set /p input= CD ^>
::vi tjekker om %input% stien eksisterer, hvis den ikke gøre laver vi den :-)
if not exist %input% (md %input%)
:: vi går til %input% mappen
cd %input%
:: og tilbage til "prompt"
goto prompt

:FILE
set /p input= FILE ^>
::her vil vi tjekke om filen eksisterer, hvis den gør åbner vi den ellers, laver vi en tom fil med det indtastede navn :-) (husk extension)
if not exist %file% (
echo. >> %input%
echo file oprettet
) else (
start %file%
)
:: tilbage til "prompt"
goto prompt



hvis du mangler mere information om en kommando må du meget gerne skrive, så tilføjer jeg det hvis jeg finder det nyttigt :-) men ellers kan man jo altid skrive "[kommando] /?"

LISTE OVER BRUGBARE/INDBYGGEDE VARIABLER


Program filer: %ProgramFiles%
Program data: %ProgramData%
Lokalt klokkeslet: %TIME%
Lokal dato: %DATE%
Nuværende placering: %CD%
Tilfældigt tal mellem 1 og omkring 64.000 : %RANDOM%
Brugerens mappe: %UserProfile%, %HomePath%
Delebrugerens mappe: %PUBLIC%
Computerens navn: %COMPUTERNAME%
UNC-sti: %LOGONSERVER%
Brugernavn: %USERNAME%


Tak for jeres tid ^^

P.S.

Notesblok.exe > skriv dit script > tryk på fanen "filer" > vælg "gem som" > gem som "*.bat" (eksempel: test.bat)

åbnes så ved at dobbeltklikke på ikonet som med alle andre filer/program etc.

for at redigere: højre-klik på ikonet > vælg "redigér" :-)

er egentligt bare en masse kommandoer der bliver skrevet til kommandoprompten ;-)

Skrevet tor. d. 07. august 2008 kl. 17:08| #1

dstjulle (11.081 point)
meget god guide men et spørsmål ( hviklet program skal man bruge til at køre dem med har aldrig brugt det før så ville godt vide det)

Skrevet lør. d. 09. august 2008 kl. 17:09| #2

wosgam (7.400 point)
Hej dstjulle faktisk er det bare cmd'en(Kommandoprompten),prøv at gå ind i notesblok og skrive nogle af eksemplerne ind og så gemme dem med filtypen .bat derefter skal du bare dobbeltklikke på den bat fil du har lavet og den kører!

Skrevet søn. d. 17. august 2008 kl. 22:34| #3

karise_larry (263.189 point)
www.ballade.dk
Generelt ->
Hvem siger Programfiler ALTID ligger der ved C:Program Files

C:Program Files
her bør bruges variablen
%ProgramFiles%
istedet...

Du ka' jo også lege lidt med de andre system variable...

Skrevet tir. d. 19. august 2008 kl. 15:51| #4

jih (16.208 point)
Jeg kan godt lide artiklen, den er meget god. Men efter min mening bliver den meget tung at læse når der er fejl i stavning og grammatik + smileyer over det hele.

Skrevet tir. d. 09. september 2008 kl. 21:05| #5

h7iws (12.860 point)
Er du nybegynder er der nogle dejlige elementer her i, godt arbejde

Skrevet tir. d. 16. september 2008 kl. 16:17| #6

lldjezll (11.845 point)
Lækkert med en opfriskning, der er en del jeg havde glemt :)

Skrevet fre. d. 26. september 2008 kl. 14:29| #7

leif (73.490 point)
Tak, det lettede lige en opgave. Perfekt

Skriv en kommentar



Mest populære guides

Guidens karakter
!!!Karaktér: 3
14 stemmer
31/01 - 2011
Af: heinzdmx

Dropbox - gratis online lagerplads

Jeg vil i denne guide forklare lidt om hvad Dropbox er og også hvordan du får mest mulig plads på Dropbox. Dropbox er kort sagt en service hvor du har dine data lagt til backup på både nettet og din egen computer.
Guidens karakter
!!!Karaktér: 4
33 stemmer
02/02 - 2009
Af: jkrons

Dato- og tidsberegninger i Excel

En introduktion til simple beregninger med dato og tid i Excel. Opdateret med afsnit om beregning af tillæg.
Excel  |  Læs »
Guidens karakter
!!!Karaktér: 4
21 stemmer
06/11 - 2011
Af: fromsej

Sådan fjerner du virus og malware

Udviklingen går stærkt på "skidt"fronten, så vi har sammensat en ny og effektiv programpakke til fjernelse af det.
Virus  |  Læs »

Log ind

   

   



   




Tips & Tricks fra PC World

Teaser billede

Top 5: Virale YouTube-videoer fra Danmark

Lægger du mærke til de mere eller mindre skjulte reklamebudskaber, når du ser videoer på nettet? Vi har taget et kig på fem utrolige danske videoer, som er blevet virale hit.


Anmeldelser fra PC World

Teaser billede

Test: Mobil med Ferrari-design - og en Trabant-motor

Motorola har begået endnu en smartphone med lækkert design og potentiale til at være blandt de bedste. Men den når ikke i mål. Se her hvorfor.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Sådan fupper smarte svindlere dig på Facebook

Se hvordan du undgår Facebook-fup i fremtiden.


Nyheder fra Computerworld

Teaser billede

App-udvikling 2.0: Sådan er den perfekte app

ComputerViews: Den værste app-hype er ved at have lagt sig, og nu ser vi konturerne af fremtidens app-design. Men hvordan udnytter man de mobile muligheder optimalt?


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger