Mais uma do fórum, que está cada dia melhor!
A auto exclusão de um arquivo é algo um pouco assustador. Conceitualmente é até difícil pensar nisso. Mas como tudo depende do quanto você precisa, alguém sempre acha a solução. Como vi pouquíssimas menções a soluções deste problema, bom, lá vai.
O camarada M. Gallant publicou o VBScript abaixo que efetua sua auto exclusão. Bom, não resolve tudo, mas como não é tão simples efetuar a operação, a idéia á utilizar o vbs para efetuar a operação de exclusão do arquivo desejado e deixar o script de auto exclua em seguida. A explicação e os créditos estão do próprio código.
'*************************************************************** ' selfdel.vbs demonstrates a wsh script which can dynamically ' remove (delete) itself on completion. ' A batch file is dynamically created which is then executed ' at the end of the wsh script. The batch file deletes this ' script file, after execution stops using a test loop. ' ' The batch file also deletes itself as a final cleanup step. ' Based on Jeffrey Richter Jan/1996 MSJ Win32 Q & A: ' http://www.microsoft.com/msj/defaulttop.asp?page=/msj/archive/SF9C.htm ' ' http://home.istar.ca/~neutron/wsh ' ' M. Gallant 10/03/2002 ' *************************************************************** Option Explicit Dim oShell, fso, f, scriptfile, Message Const Title = "SelfDel" Const ForReading = 1, ForWriting = 2 Const deltime = 3 Const target = "target.txt" Const batchfile = "_cleanup.bat" scriptfile = WScript.ScriptFullName Message = "This script """ & scriptfile & """ will self-destruct in " & _ deltime & " seconds" Set oShell = WScript.CreateObject("WScript.Shell") oShell.Popup Message, deltime, Title, vbOKONLY + vbExclamation Set fso = CreateObject("Scripting.FileSystemObject") set f = fso.OpenTextFile(batchfile, ForWriting, True) f.WriteLine ":Loop" f.WriteLine "del " & """" & scriptfile & """" f.WriteLine "if exist """ & scriptfile & """ goto Loop" f.WriteLine "del %0" f.close set fso = nothing set f = nothing oShell.Run batchfile,0 set oShell = nothing |
Bom proveito!