121355

Variable um eine Datei immer wiederzu löschen?

Hallo liebe Admins!

Ich habe nach langer Zeit des Windows10-ens und Batchens mal wieder ein Problem: Ich bekommen keine Variable gebacken, die mir eine bestimmte Datei immer wieder löscht. Bei jedem Start eines Programmes wird ein Log angelegt; diesen Vorgang kann man, meines Wissens nach, nicht umgehen bzw. unterbinden.

Gibt es also ein Batch- oder Shell-Kommando, welches ich irgendwie immer wieder wiederholen kann? Wenn ja, bräuchte ich Variable, wenn möglich einen Code von ihr, und eine Erklärung, warum und wie das funktioniert.

Euer
DeBeden

P.S.: Mit
del "[//File-path//]"  
habe ich es schon versucht! (Batch)
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 284761

Url: https://administrator.de/forum/variable-um-eine-datei-immer-wiederzu-loeschen-284761.html

Ausgedruckt am: 28.06.2025 um 21:06 Uhr

Snowman25
Lösung Snowman25 06.10.2015, aktualisiert am 16.10.2015 um 16:49:55 Uhr
Goto Top
Hallo @121355,

also als aller erstes solltest du dir mal darüber klar werden, was eine Variable ist.

Sobald du damit fertig hast schaust du dir mal den Aufgabenplaner an.
Da erstellst du eine neue Aufgabe, welche in deinem gewünschten Intervall läuft und lässt folgendes Batch-Skript laufen:
del "<voller Pfad zur Logdatei>"  

Beachte, dass sich das Log wahrscheinlich nicht löschen lässt, während das Programm läuft.

Gruß,
@Snowman25


€dit:
Hier das XML-File, welches du in die Aufgabenplanung importieren kannst:
<?xml version="1.0" encoding="UTF-16"?>  
<Task version="1.3" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">  
  <RegistrationInfo>
    <Date>2015-10-06T18:17:44.9831164</Date>
    <Author>SomePC\SomeUser</Author>
  </RegistrationInfo>
  <Triggers>
    <CalendarTrigger>
      <Repetition>
        <Interval>PT10M</Interval>
        <StopAtDurationEnd>false</StopAtDurationEnd>
      </Repetition>
      <StartBoundary>2015-10-06T00:00:00</StartBoundary>
      <Enabled>true</Enabled>
      <ScheduleByDay>
        <DaysInterval>1</DaysInterval>
      </ScheduleByDay>
    </CalendarTrigger>
  </Triggers>
  <Principals>
    <Principal id="Author">  
      <UserId>SomePC\SomeUser</UserId>
      <LogonType>InteractiveToken</LogonType>
      <RunLevel>LeastPrivilege</RunLevel>
    </Principal>
  </Principals>
  <Settings>
    <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
    <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
    <StopIfGoingOnBatteries>false</StopIfGoingOnBatteries>
    <AllowHardTerminate>true</AllowHardTerminate>
    <StartWhenAvailable>true</StartWhenAvailable>
    <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
    <IdleSettings>
      <StopOnIdleEnd>true</StopOnIdleEnd>
      <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    <AllowStartOnDemand>true</AllowStartOnDemand>
    <Enabled>true</Enabled>
    <Hidden>false</Hidden>
    <RunOnlyIfIdle>false</RunOnlyIfIdle>
    <DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession>
    <UseUnifiedSchedulingEngine>false</UseUnifiedSchedulingEngine>
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>PT1H</ExecutionTimeLimit>
    <Priority>7</Priority>
  </Settings>
  <Actions Context="Author">  
    <Exec>
      <Command>del</Command>
      <Arguments>"C:\Users\SomeUser\AppData\Roaming\Programm\dummes log.log"</Arguments>  
    </Exec>
  </Actions>
</Task>
Achte darauf, dass du in Zeile 5 und 22 deinen Useraccount einträgst und in Zeile 51 den Pfad zur Datei anpasst.
121355
121355 21.02.2016 um 18:16:35 Uhr
Goto Top
Ich habe mir das jetzt nach der Ewigkeit nochmal angeguckt und festgestellt, dass ich das so erst noch bestätigen müsste. Geht das auch irgendwie automatisch?
Snowman25
Snowman25 22.02.2016 aktualisiert um 08:52:28 Uhr
Goto Top
klar.
Hier die Hilfe von del:
Löscht eine oder mehrere Dateien.

DEL [/P] [/F] [/S] [/Q] [/A[[:]Attribute]] Namen
ERASE [/P] [/F] [/S] [/Q] [/A[[:]Attribute]] Namen

  Namen         Gibt eine Liste von Dateien oder Verzeichnissen an.
                Platzhalter können verwendet werden, um mehrere Dateien zu
                löschen. Wird ein Verzeichnis angegeben, werden alle Dateien
                in diesem Verzeichnis gelöscht.
  /P            Fordert Sie vor dem Löschen jeder Datei zur Bestätigung auf.
  /F            Erzwingt das Löschen schreibgeschützter Dateien.
  /S            Löscht alle Dateien in allen Unterverzeichnissen.
  /Q            Keine Rückfrage bei Verwendung globaler Platzhalter.
  /A            Wählt die zu löschenden Dateien nach dem Attribut aus.
  Attribute     R  Schreibgeschützte Dateien     S  Systemdateien
                H  Versteckte Dateien            A  Zu archivierende Dateien
                I  Nicht indizierte Dateien      L  Analysepunkte
                -  vorangestellt kehrt die Bedeutung um.

Wenn die Befehlserweiterungen aktiviert sind, werden DEL und ERASE
folgendermaßen verändert:

Die Anzeigesemantik für die /S-Option ist umgekehrt, so dass nur Dateien
angezeigt werden, die gelöscht wurden und nicht solche, die nicht
gefunden wurden.

del /Q <Pfad zur Logdatei>

Wenn du das in der XML-Datei ändern möchtest, musst du Zeile 51 um folgendes ersetzen:
      <Arguments>/Q "C:\Users\SomeUser\AppData\Roaming\Programm\dummes log.log"</Arguments>   

Gruß,
@Snowman25