Diskuze: smazaní souboru

C# .NET .NET (C# a Visual Basic) smazaní souboru American English version English version

Avatar
lopi.trucker
Člen
Avatar
lopi.trucker:

zdravím programátory, chtěl jsem se zeptat, zda dokáže exáč smazat sám sebe, vím že baťák to umí, ale umí to i exe soubor, a jestli ano tak jak na to pánové a dámy? Díky za každou informaci vedoucí k dopadení správného řešení. :D

Editováno 3.7.2013 22:20
 
Odpovědět 3.7.2013 22:19
Avatar
Kit
Redaktor
Avatar
Odpovídá na lopi.trucker
Kit:

Kdyby Windows dodržovaly normu POSIX, tak by ten exe mohl smazat sám sebe. Jenže Windows POSIX nesplňují a proto to nejde.

Udělej si nějaký spouštěč, který bude moct ten exe spustit nebo smazat.

Nahoru Odpovědět 3.7.2013 23:03
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
lopi.trucker
Člen
Avatar
Odpovídá na Kit
lopi.trucker:

hm tak takovou odpověď jsem tak trochu čekal :-( asi to budu muset řešit přes ten baťák

 
Nahoru Odpovědět 3.7.2013 23:44
Avatar
Odpovídá na lopi.trucker
Michal Žůrek (misaz):

to je nesmysl, udělej si druhou aplikaci tu spusť a v ní tu první aplikai odstraň.

Nahoru Odpovědět 4.7.2013 7:24
Nesnáším {}, proto se jim vyhýbám.
Avatar
Odpovídá na Michal Žůrek (misaz)
Michael Olšavský:

Tvoje odpověď je nesmysl :-D Co by poté udělal s tou druhou aplikací? :-D

 
Nahoru Odpovědět 4.7.2013 9:19
Avatar
Odpovídá na Michael Olšavský
Lukáš Hruda (Luckin):

Tak místo druhé aplikace napíše cmd script, ten může smazat sám sebe a ten program ho může dokonce i vytvořit, bude v něm jenom jeden nebo dva řádky.

 
Nahoru Odpovědět 4.7.2013 10:44
Avatar
TomBen
Redaktor
Avatar
TomBen:

Napadlo mě, že takový uninstaller by to měl umět, takže by to jít mělo.
Našel jsem tohle, bylo to zajímavé, ale nezkoušel jsem jestli to funguje.

http://www.catch22.net/…-executables

Nahoru Odpovědět 4.7.2013 10:45
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
Lukáš Linhart:

A k čemu by ten program byl ? kdyby se smazal ? :)

 
Nahoru Odpovědět 4.7.2013 10:52
Avatar
Odpovídá na Lukáš Linhart
Lukáš Hruda (Luckin):

Třeba nějaká trial verze, která jde spustit jenom jednou :D

 
Nahoru Odpovědět 4.7.2013 11:00
Avatar
TomBen
Redaktor
Avatar
TomBen:

Už jsem to zkusil, ten poslední způsob mi funguje.
Win7

Nahoru Odpovědět 4.7.2013 11:02
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
Odpovídá na lopi.trucker
Lukáš Hruda (Luckin):

V C++ mi funguje tohle:

#include <iostream>
#include <fstream>
using namespace std;

int main()
{
  ofstream file("script.bat");
  file<<"erase pokus.exe"<<endl<<"erase script.bat"<<endl<<"exit";
  file.close();
  system("start script.bat");
}

Jenom na konci zůstane otevřená konzole a nepovedlo se mi jí zbavit.

 
Nahoru Odpovědět 4.7.2013 11:09
Avatar
Jakub Šárník:

Něco jsem našel, nezkoušel jsem tak nevím jestli to bude fungovat (je tam napsáno že to nefunguje na XP): http://www.codeproject.com/…self-Immedia

 
Nahoru Odpovědět 4.7.2013 11:19
Avatar
Kit
Redaktor
Avatar
Odpovídá na lopi.trucker
Kit:

Ještě bys mohl příkaz pro smazání toho souboru uložit do seznamu RunOnce v registrech.

Nahoru Odpovědět 4.7.2013 11:26
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
TomBen
Redaktor
Avatar
Nahoru Odpovědět 4.7.2013 11:26
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
Nahoru Odpovědět 4.7.2013 11:56
Nesnáším {}, proto se jim vyhýbám.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
Kit:

Však to ve své podstatě je malware.

Neoznačil bych to jako vir, ale spíš jako trojský kůň.

Nahoru Odpovědět 4.7.2013 12:03
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
TomBen
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
TomBen:

Když takhle znělo zadání, tak je zřejmé, že se to nebude antiviru líbit.

Nahoru Odpovědět 4.7.2013 12:04
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
Kit
Redaktor
Avatar
Odpovídá na TomBen
Kit:

Z toho je také vidět, jak jsou antiviráky hloupé.

Nahoru Odpovědět  +1 4.7.2013 12:06
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
TomBen
Redaktor
Avatar
Odpovídá na Kit
TomBen:

Ono to našlo tu chřipku, co jsem nedávno přechodil.
Jsem asi něco virů naprskal do klávesnice. :D

Nahoru Odpovědět 4.7.2013 12:18
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
lopi.trucker
Člen
Avatar
lopi.trucker:

Udělal jsem si instalátor, a ten potřebuji smazat asi to vyřeším přes vytvoření batche a timeout příkazem s minimalizovaným oknem, nebo tak něčím.

 
Nahoru Odpovědět 4.7.2013 21:30
Avatar
lopi.trucker
Člen
Avatar
Odpovídá na Kit
lopi.trucker:

Hm tak to jsem tak trochu nepochopil, to mi chceš říct že se mi z registrů spustí příkaz?

 
Nahoru Odpovědět 4.7.2013 21:32
Avatar
Kit
Redaktor
Avatar
Odpovídá na lopi.trucker
Kit:

Přesně tak. Akorát se RunOnce spouští jen při bootování.

Nahoru Odpovědět 4.7.2013 21:37
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 22 zpráv z 22.