Ich konnte das Skript löschen, sobald die Ausführung abgeschlossen ist.löschen Sie den Selbstordner, sobald die Ausführung abgeschlossen
function Delete() {
$Invocation = (Get-Variable MyInvocation -Scope 1).Value
$Path = $Invocation.MyCommand.Path
Write-Host $Path
Remove-Item $Path
}
Delete
Aber ich bin nicht in der Lage, den gesamten Ordner und Unterordner von wo das Skript ausgeführt wird zu löschen. Gibt es eine Möglichkeit, um dies zu umgehen, die auf beiden powershell2.0 und 3.0 funktioniert?
Unterordner löschen und so weiter werden Sie müssen den '-Recurse' Parameter' Remove-Item' hinzuzufügen. – gvee
Sie können den Ordner, in dem sich das Skript befindet, möglicherweise nicht löschen, da die Skriptdatei zu diesem Zeitpunkt möglicherweise verwendet wird. Außerdem sollte Ihr aktueller Standort ('(Get-Location) .Path') nicht der Ordner sein, den Sie löschen möchten. –
In meinen Experimenten können Sie sogar in PowerShell 2 eine Skriptdatei in der ersten Zeile löschen, und das Skript wird weiter verarbeitet. Es scheint, die ganze Sache in Erinnerung zu lesen und dann von dort zu laufen. Ich habe ein Skript, das darauf beruht, wie es in einem Netzwerk ist und auf bis zu 4 Arbeitsstationen ausgeführt werden kann, hält mich nicht auf, mit einer aktualisierten Version darüber zu speichern. –