121355
Oct 06, 2015, updated at Aug 08, 2017 (UTC)
1461
3
0
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
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 habe ich es schon versucht! (Batch)
del "[//File-path//]"
Please also mark the comments that contributed to the solution of the article
Content-Key: 284761
Url: https://administrator.de/contentid/284761
Printed on: April 23, 2024 at 12:04 o'clock
3 Comments
Latest comment
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:
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:
Achte darauf, dass du in Zeile 5 und 22 deinen Useraccount einträgst und in Zeile 51 den Pfad zur Datei anpasst.
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>
klar.
Hier die Hilfe von del:
Wenn du das in der XML-Datei ändern möchtest, musst du Zeile 51 um folgendes ersetzen:
Gruß,
@Snowman25
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