Labb 5: Batch

Batch-skript är textfiler som innehåller en serie kommandon som körs i följd av Windows kommandotolk. Genom att skapa och köra batch-skript kan du automatisera uppgifter, utföra systemadministration och hantera filer på ett effektivt sätt. I denna laboration kommer du att skriva tre olika batch-skript på olika svårighetsnivåer.

Nivå 1: Grundläggande Skript

Uppgift: Skapa ett grundläggande batch-skript som hälsar användaren, frågar efter deras namn, och sedan skriver ut en personlig hälsning.

Instruktioner:

  1. Öppna Notepad.
  2. Skriv följande kod

  1. Spara filen som hello.bat.
  2. Dubbelklicka på hello.bat för att köra skriptet.

Förklaring:

  • @echo off: Dölj kommandot som körs.
  • echo: Skriver ut text till kommandotolken.
  • set /p: Tar emot användarens inmatning och lagrar den i en variabel.
  • pause: Stoppar skriptet och väntar på att användaren trycker på en knapp innan det stängs.

Nivå 2: Lättare Avancerat Skript

Uppgift: Skapa ett batch-skript som skapar en mapp med dagens datum som namn och sedan kopierar alla filer från en specifik katalog till den nya mappen.

Instruktioner:

  1. Öppna kommandotolken (CMD) och kontrollera vad miljövariabeln %date% innehåller genom att köra följande kommando: echo %date%

    • Om du får ett datum i formatet 2024-11-04 är detta en svensk formatering med strukturen ÅÅÅÅ-MM-DD. I detta fall kan skriptet köras utan ändringar.

    • Om datumet visas i ett annat format, som till exempel DD-MM-ÅÅÅÅ eller en annan ordning, behöver skriptet justeras för att matcha startpositionerna för år, månad och dag. Anpassa då teckenpositionerna i skriptet så att de stämmer med ditt systems datumformat.

  2. Öppna Notepad och skriv följande kod:
    • @echo off
      rem Kontrollera det aktuella datumformatet
      echo Aktuellt datumformat: %date%
      rem Om datumformatet är Mon 11/04/2024:
      rem set date=%date:~10,4%-%date:~4,2%-%date:~7,2%
      rem Om datumformatet är YYYY-MM-DD (t.ex. 2024-11-04):
      set date=%date:~0,4%-%date:~5,2%-%date:~8,2%
      rem Kontrollera att datumformatet är korrekt
      echo Datumformat efter omvandling: %date%
      rem Skapa en ny mapp med namnet baserat på dagens datum
      mkdir "C:\NG\BatchScript\%date%"
      rem Kopiera filer från C:\temp till den nya mappen
      echo Kopierar filer till mappen %date%...
      xcopy "C:\Windows\temp\*.*" "C:\NG\BatchScript\%date%\" /s /i
      echo Filerna har kopierats till mappen %date%.
      pause
  3. Spara filen som backup.bat.
  4. Anropa scriptets namn från prompten eller dubbelklicka på backup.bat för att köra skriptet.

Nivå 3: Någorlunda avancerat skript

Uppgift: Skapa ett batch-skript som söker efter en specifik filtyp i en katalog och dess underkataloger, räknar antalet filer och skriver ut resultatet.

Instruktioner:

  1. Öppna Notepad.
  2. Skriv följande kod
    • @echo off
      rem Be användaren ange den mapp där sökningen ska utföras
      set /p folder=Ange sökvägen till mappen där du vill söka (t.ex. C:\Users\chalo\Documents):
      rem Kontrollera om mappen finns
      if not exist "%folder%" (
      echo Mappen "%folder%" finns inte. Kontrollera sökvägen och försök igen.
      pause
      exit /b
      )
      rem Be användaren ange filtypen som ska sökas efter
      set /p extension=Ange filtypen du vill söka efter (t.ex. txt):
      rem Sätt räknaren till 0
      set /a count=0
      rem Sök efter alla filer med den angivna filtypen i den angivna mappen och dess undermappar
      for /r "%folder%" %%f in (*.%extension%) do (
      set /a count+=1
      )
      rem Visa antalet filer som hittades
      echo Antal filer med tillägget .%extension% i mappen "%folder%": %count%
      pause
  1. Spara filen som countfiles.bat.
  2. Anropa scriptet från prompten eller dubbelklicka på countfiles.bat för att köra skriptet.

Förklaring:

  • for /r %%f in (*.%extension%) do ...: Itererar genom alla filer med den angivna filtypen i den aktuella katalogen och dess underkataloger.
  • set /a count+=1: Räknar antalet hittade filer.
  • echo Antal filer ...: Skriver ut resultatet till kommandotolken.

Inlämning

När du har skapat alla tre skript ska du följa nedanstående steg för att säkerställa korrekt inlämning. Se till att namn till filerna är korrekt enligt instruktionerna för att undvika att inlämningen blir ogiltig.

  1. Skriv en kort rapport där du beskriver varje skript, vad det gör, och hur du skapade det.

  2. Skapa en ny mapp på din dator och döp den till något relevant, exempelvis labb-5-batch.

  3. Flytta alla tre batch-skript (hello.bat, backup.bat, countfiles.bat) till denna mapp.
  4. Komprimera mappen till en ZIP-fil. Högerklicka på mappen och välj Skicka till > Komprimerad mapp (zippad). Döp ZIP-filen till batchskript.zip.
  5. Ladda upp ZIP-filen i klassens digitala klassrum som din inlämning.

Observera att om alla tre skript inte bifogas i en enda fil (ZIP-fil), kommer din inlämning automatiskt att tas bort och du måste göra om inlämningen.