Daten löschen /exe starten

Pole17

Grünschnabel
Hallo

Ich möchte ein programm schreiben womit ich automatisch daten löschen kann und die danach eine exe startet

ich habe schon mal angefangen aberr komme nun nicht weiter
Code:
#include <stdio.h>
#include <stdlib.h>
int main(void) {
   
   printf("Welche Datei wollen Sie löschen?\n");
   printf("Bitte wenn nötig gültigen Pfad angeben.\n");
   printf("Eingabe :> ");
   
   remove(pfad,"test.rtf")
      fprintf(stderr, "Fehler beim Löschen von %s", pfad);
      return EXIT_FAILURE;
   }
   return EXIT_SUCCESS;
}


das ist es.

1.ich wollte nun das das Programm einen inhalt eines verzeichisses löscht und dann die exe startet.

2.wie kann ich das machen das der pfad immer konstant bleibt also das ich ihn einmal eine und ich ihn nicht immer eingeben muss.


könnt ihr das programm vlt editieren.

schon mal danke
 
Mit welcher Programmiersprache hast du angefangen zu programmieren?
Das ist nämlich eher nicht C, sondern ein einziger Kauderwelsch.
Remove kriegt nur 1 Parameter, danach kannst du nicht einfach fprintf weiter machen,
bla bla bla....

<cpp>
#include <stdio.h>
#include <windows.h>
#include <string.h>
int main()
{
char c[1000],d[200],e[1200];
printf("Pfad?\n");
gets(c);
if(c[strlen(c)-1]=='\\')c[strlen(c)-1]='\0';
printf("Ordner zum loschen?\n");
gets(d);
if(d[strlen(d)-1]=='\\')d[strlen(d)-1]='\0';
strcpy(e,"rd \"");strcat(e,c);strcat(e,"\\");strcat(e,d);strcat(e,"\"");
system(e);
printf("Exe?\n");
gets(d);
if(d[strlen(d)-4]!='.')strcat(d,".exe");
strcpy(e,c);strcat(e,"\\");strcat(e,d);
remove(e);
return 0;
}
</cpp>
 
So hab jetzt schon einiges geschaft hier mein Code


hab ein bischen was geändert ist so etwas einfacher.

Code:
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>


int main(void)
{
 char* filename = "npccache.wdb";     /*löscht temporäre dateien*/
remove(filename);
 char* filename2 = "questcache.wdb";
remove(filename2);
 char* filename3 = "itemcache.wdb";
 isremove(filename3);
 char* filename4 = "itemtextcache.wdb";
remove(filename4);
 char* filename5 = "itemnamecache.wdb";
remove(filename5);
 char* filename6 = "pagetextcache.wdb";
remove(filename6);
char* filename7 = "creaturecache.wdb";
remove(filename7);
char* filename8 = "gameobjectcache.wdb";
remove(filename8);
char* filename9 = "wowcache.wdb";
remove(filename9);
ShellExecute(NULL, "open", "datei.exe", NULL, NULL, SW_SHOW);      /*startet exe*/
}

Mein Problem:

die exe befindet sich in einem anderem ordner wie muss ich das umschreiben ,dass das programm gestartet wird.


danke schonmal im voraus
 
Hi !

Also das ist doch nicht so schwer oder versteh ich etwas falsch?

Code:
ShellExecute(NULL, "open", "\\TestPfad\\datei.exe", NULL, NULL, SW_SHOW);      /*startet exe*/

wieso benutzt du nicht einfach DeleteFile, ist doch viel unkomplizierter als remove.

Code:
DeleteFile("npccache.wdb");

dann musst du auch nicht char benutzen.

Gruß !
 
Zuletzt bearbeitet:
oh dankeschön für den tipp

aber das funktioniert so nicht


bekomme vom compiler keine fehlermeldunf aber das programm startet die exe nicht.weis jetzt echt nicht weiter.
 
Hi !

Also wieso es bei dir nicht funktoniert weiß ich auch nicht genau.:rolleyes:

Hier das habe ich getestet und es funktonierte auch bei mir:
Code:
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>


int main(void)
{
 char* filename = "npccache.wdb";     /*löscht temporäre dateien*/
DeleteFile(filename);
 char* filename2 = "questcache.wdb";
DeleteFile(filename2);
 char* filename3 = "itemcache.wdb";
DeleteFile(filename3);
 char* filename4 = "itemtextcache.wdb";
DeleteFile(filename4);
 char* filename5 = "itemnamecache.wdb";
DeleteFile(filename5);
 char* filename6 = "pagetextcache.wdb";
DeleteFile(filename6);
char* filename7 = "creaturecache.wdb";
DeleteFile(filename7);
char* filename8 = "gameobjectcache.wdb";
DeleteFile(filename8);
char* filename9 = "wowcache.wdb";
DeleteFile(filename9);
ShellExecute(NULL, "open", "C:\\TestPfad\\datei.exe", NULL, NULL, SW_SHOW);      /*startet exe*/
}

eigentlich müsste es funktonieren !

Gruß Onur !
 
Es funktioniert
ich hatte einen Flüchtigkeitsfehler drin hab ein "/" beim pfad vergessen:rolleyes:

übrigens sieht jetzt so aus.

Code:
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

int main(void)
{
DeleteFile("npccache.wdb");
DeleteFile("questcache.wdb");
DeleteFile("itemcache.wdb");
DeleteFile("itemtextcache.wdb");
DeleteFile("itemnamecache.wdb");
DeleteFile("pagetextcache.wdb");
DeleteFile("creaturecache.wdb");
DeleteFile("gameobjectcache.wdb");
DeleteFile("wowcache.wdb");
ShellExecute(NULL, "open", "D:\\Programme\\World of Warcraft\\wow.exe", NULL, NULL, SW_SHOW);

hab noch eine frage wie bekomme ich Blinkenden text ins programm?
 
Blinkender Text?

Ist in der Windows-Konsole igentlich überhaupt nicht möglich

Tipp:
Googel zu WinAPI Funktionen in der Konsole

Schreib einen Text mit Hintergrundfarbe, wart 1 sekunde,
überschreib gleichen text mit anderer Hintergrundfarbe, wart 1 sek,
und wieder von vorn.

falls du ein beispiel brauchst, schreib einfach.

PS: DeleteFile oder remove ist eigentlich egal
 
Code:
#include<stdio.h>
#include<conio.h>
#include<windows.h>
#include<stdlib.h>

int main(void)
{
HANDLE h=GetStdHandle(STD_OUTPUT_HANDLE);

while(1){//Endlosschleife
SetConsoleTextAttribute(h,12*16+0);//Farben berechnen unten
printf("Hallo");
printf("\b\b\b\b\b");//Soviel \b wie Zeichen in "Hallo"
//ist so einfacher als API-Funktion

Sleep(1000);//1000 millisekunden, also 1 sec warten

SetConsoleTextAttribute(h,9*16+0);
printf("Hallo");
printf("\b\b\b\b\b");

Sleep(1000);
}
}

Farben:

Schwarz=0 (0)
Dunkelblau=1 (1)
Dunkelgrün=2 (2)
Blaugrün=3 (3)
Dunkelrot=4 (4)
Lila=5 (5)
Ocker=6 (6)
Hellgrau=7 (7)
Dunkelgrau=8 (8)
Blau=9 (9)
Grün=10 (A)
Zyan=11(B)
Rot=12 (C)
Magenta=13 (D)
Gelb=14 (E)
Weiß=15 (F)

Die angegebene Zahl ist
(Hintergrundfarbe mal 16) plus Schriftfarbe

Im Beispiel steht also "Hallo" mit schwarzer Schrift,
und jede Sekunde wechselt der Hintergrund zwischen Rot und Blau.

Tipp: Wenn du das ganze Fenster umfärben willst:
Nimm von Den Farben die Klammerwerte:
system("color C9");
bewirkt zum Beispiel Roten Hintergrund mit Blauer Schrift
 
Zurück