Få ROBOCOPY til at Afslutte med Enkelt Exit-kode: Guide og Batch-kommandoer

Er det muligt at få ROBOCOPY til at afslutte med en exit-kode, der angiver succes eller fejl, i stedet for den nuværende bitmaske? Hvis ikke, findes der en simpel sekvens af batch-kommandoer, der kan oversætte ROBOCOPY's bitmaske til en tilsvarende værdi?

Mulighed for at få ROBOCOPY til at afslutte med en exit-kode kan opnås ved at bruge batch-kommandoer til at oversætte bitmasken til en simpel exit-kode, der angiver succes (0) eller fejl (1).

Mulighed for at Få ROBOCOPY til at Afslutte med en Exit-kode

ROBOCOPY afslutter normalt med en bitmaske, der angiver forskellige statusser for kopieringsprocessen. Det er ikke direkte muligt at få ROBOCOPY til at afslutte med en simpel exit-kode, der kun angiver succes eller fejl. Men du kan bruge en sekvens af batch-kommandoer til at oversætte ROBOCOPY's bitmaske til en tilsvarende værdi.

Batch-kommandoer til Oversættelse af ROBOCOPY's Bitmaske

Her er en simpel sekvens af batch-kommandoer, der kan hjælpe med at oversætte ROBOCOPY's bitmaske til en mere forståelig exit-kode:


@echo off
setlocal

rem Kør ROBOCOPY og gem exit-koden
robocopy "kilde" "destination" /E
set "exitCode=%ERRORLEVEL%"

rem Initialiser en variabel til at holde den nye exit-kode
set "newExitCode=0"

rem Tjek bitmasken og sæt den nye exit-kode
if %exitCode% geq 8 (
    set "newExitCode=1"
) else (
    set "newExitCode=0"
)

rem Afslut med den nye exit-kode
exit /b %newExitCode%

Forklaring af Batch-kommandoerne

  • @echo off: Slår kommando-echoing fra for at gøre outputtet mere læsbart.
  • setlocal: Starter en lokal miljøblok for at undgå at ændre globale variabler.
  • robocopy "kilde" "destination" /E: Kører ROBOCOPY og kopierer alle filer og mapper fra kilde til destination. Du kan tilpasse denne kommando efter dine behov.
  • set "exitCode=%ERRORLEVEL%": Gemmer ROBOCOPY's exit-kode i en variabel.
  • set "newExitCode=0": Initialiserer en variabel til at holde den nye exit-kode.
  • if %exitCode% geq 8: Tjekker om ROBOCOPY's exit-kode er større end eller lig med 8, hvilket indikerer en fejl.
  • set "newExitCode=1": Sætter den nye exit-kode til 1, hvis der er en fejl.
  • exit /b %newExitCode%: Afslutter batch-filen med den nye exit-kode.

Ved at bruge denne sekvens af batch-kommandoer kan du effektivt oversætte ROBOCOPY's bitmaske til en simpel exit-kode, der angiver succes (0) eller fejl (1).