咋让一个exe运行后自动删除
时间: 2023-05-18 14:01:16 浏览: 136
在程序运行时让它自动删除是一种破坏性的操作,可能会对计算机系统造成不可预见的影响,因此不建议如此操作。
如果您确定需要这样做,可以尝试以下方法:
1. 创建一个批处理文件,包含以下命令:
```
start yourprogram.exe
ping localhost -n 2 >nul
del yourprogram.exe
```
其中,`start`命令用于打开程序,`ping`命令用于延迟2秒,`del`命令用于删除程序。
2. 将批处理文件与程序一起打包成一个自解压缩包,运行自解压缩包后,程序会运行并自动删除。
需要注意的是,这种做法可能被防病毒软件误认为是恶意行为,因此需要谨慎使用。如果您的目的是为了保护程序的安全性,建议使用加密压缩的方式保护程序而不是让它自动删除。
相关问题
powershell.exe -File "demo1.ps1"; powershell.exe -File "demo2.ps1"; taskkill /IM cmd.exe让这个脚本运行完后自动删除
同样的,如果要让这个脚本在运行完后自动删除,可以在脚本的结尾添加代码来删除脚本本身。以下是示例代码:
```powershell
# 在这里添加您的脚本代码
Remove-Item -Path $MyInvocation.MyCommand.Path -Force
```
上面的代码中,使用了`$MyInvocation.MyCommand.Path`来获取当前脚本的路径,然后使用`Remove-Item`命令来删除脚本本身。这样,当脚本运行完毕后,会自动删除脚本本身。
请注意,在脚本的结尾添加删除自身的代码可能会导致一些潜在的问题,如误删除脚本、删除脚本时被其他进程占用等。因此,在实际应用中请谨慎使用。
powershell.exe -File "demo1.ps1"; powershell.exe -File "demo2.ps1"; taskkill /IM cmd.exe让这个脚本运行完后自动删除脚本本身和demo1.ps1、demo2.ps1
如果要在脚本运行完后自动删除脚本本身和demo1.ps1、demo2.ps1文件,可以在脚本结尾添加以下代码:
```powershell
# 删除脚本本身
Remove-Item -Path $MyInvocation.MyCommand.Path -Force
# 删除demo1.ps1和demo2.ps1文件
$scriptPath = Split-Path -Path $MyInvocation.MyCommand.Path
Remove-Item -Path "$scriptPath\demo1.ps1" -Force
Remove-Item -Path "$scriptPath\demo2.ps1" -Force
```
上面的代码中,使用了`$MyInvocation.MyCommand.Path`来获取当前脚本的路径,然后使用`Split-Path`命令来获取脚本所在的目录。最后使用`Remove-Item`命令来删除脚本本身和demo1.ps1、demo2.ps1文件。
同样的,请注意在实际应用中谨慎使用删除文件的代码,避免误删除重要文件。