windows - Ønsker en .bat-fil, der sletter en mappe, når et program er afsluttet

Indlæg af Hanne Mølgaard Plasc

Problem



Min grund til at have brug for dette er til sikkerhedsformål på et job. Jeg forsøger at fjerne på en kundes computer og køre diagnostisk software, men problemet er, at kunden kan afslutte fjernsessionen når som helst og holde min software. Er der mulighed for at slette softwaren, hvis fjernadgangstjenesten er stoppet ? Hjælp venligst

Bedste reference


Ja, der er en nem måde. Du kan starte programmet med batchfilen selv. Men du starter det ikke med 'yourprogram.exe' i batchfilen, du starter det med 'START/vent yourprogram.exe' ... så i den næste linje i din batch du bare 'del yourprogram.exe'. start/vent batch waites indtil yourprogram.exe er lukket og fortsætter derefter med delete kommandoen.


START /wait yourprogram.exe
del yourprogram.exe


Men vær opmærksom på, at din kunde stadig kan beholde en kopi af en software. hvis det er på sin computer en gang, kan du ikke være 100\% sikker på, at han ikke har nogen anden måde at holde det på.

Andre referencer 1


hvis du IKKE ønsker at starte dit program ved hjælp af batchfilen:


@echo off
set opened=0
:loop 
if "\%opened\%" == "0" (
tasklist | find "yourprogram.exe"
if "\%errorlevel\%" == "0" (set "opened=1") else (goto loop)
) else (
tasklist | find "yourprogram.exe"
if "\%errorlevel\%" == "1" (goto delete) else (goto loop)
)
:delete 
cd yourfolder
if "\%errorlevel\%" == "0" (goto del) else (goto error)
:del 
del *.*
cd ..
rd yourdirectory
goto :eof
:error 
echo cannot find specified folder


Denne kode sletter den angivne mappe, når yourprogram.exe starter og lukker.


Jeg anbefaler dig at bruge echo nul> afile.txt og derefter del afile.txt
så brugeren kan ikke 'genoprette' din slettede fil
, men jeg ved ikke, hvordan man bruger det til alle filer i en mappe, måske ved du det?


og jeg anbefaler at bruge attrib +H path ofolder til at skjule din mappe.

(erstat yourprogram.exe med dit programnavn, yourfolder ved stien til det bibliotek, du vil slette, og yourdirectory med dit katalognavn)