Zum Inhalt springen

Dateien Verschieben


Fufialk

Empfohlene Beiträge

Eigentlich steht die Antwort ja schon in diesem , aber irgendwie will das bei mir nicht ganz funktionieren, ich hoffe jemand sieht, wo es hakt.


void har_dat(const char *har_daten)
{
int groesse;
long zeit;
char filewrite[NAME_LENGTH]; //Name & Pfad der Ausgabedatei
char logfile[NAME_LENGTH];
char Jahr[4];
char Woche[5];
char path[32] = "H:\\Messdaten\\Auswertung\\Haribo";
char rohdaten[8] = "Rohdaten";
char verzeichnis[200];
char ext[6] = "Extern";
char fwrite[12];//Dateiname der Eingabedatei (Datum.Dateierweiterung)
cout << "\nFolgende Datei wird verarbeitet : " << har_daten;
// Berechnung der Größe des Datenfiles

struct stat buf;
stat(har_daten, &buf);
groesse = buf.st_size;
// Auslesen des Datums aus dem Datenfile
const char* find = strrchr(har_daten, '\\');
strncpy(fwrite,find+1, 8);
zeit = strtol(fwrite,0, 16);
zeit = zeit - 86400;
time_t timer;
struct tm *tblock;
tblock = localtime(&zeit);

chdir(path);
sprintf(Jahr,"%4d",tblock->tm_year+1900);
chdir(Jahr);
sprintf(Woche,"KW_%02d",tblock->tm_yday/7+1);
chdir(Woche);
mkdir(ext);
chdir(Woche);
// Zuweisung der Dateinamen für die zu schreibenden Files
sprintf(filewrite,"HAR_%02d%02d%04d.txt ",tblock->tm_mday,tblock->tm_mon+1,tblock->tm_year+1900);
sprintf(partner,"Extern\\HAR_e_%02d%02d%04d.txt ",tblock->tm_mday,tblock->tm_mon+1,tblock->tm_year+1900);
sprintf(logfile,"HAR_log_%02d%02d%04d.txt ",tblock->tm_mday,tblock->tm_mon+1,tblock->tm_year+1900);
.....
chdir(Woche);
mkdir(rohdaten);
chdir(rohdaten);
getcwd(verzeichnis, sizeof verzeichnis);
MoveFile(har_daten, verzeichnis, true);
cout << "\nDie Datei " << har_daten << " wurde in das Verzeichnis " << verzeichnis << " verschoben.";[/PHP]

Der Code ist Teil eines Unterprogramms, daß eine Datei ausliest, und Daten daraus speichert, und diese nach Datum ordnet. Nach Abschluß soll dann die Ursprungsdatei nach ähnlichem Muster geordnet werden.

Link zu diesem Kommentar
Auf anderen Seiten teilen


void har_dat(const char *har_daten)
{
char Jahr[4];
char Woche[5];
char path[32] = "H:\\Messdaten\\Auswertung\\Haribo";
char rohdaten[8] = "Rohdaten";
char verzeichnis[200];
char ext[6] = "Extern";
char fwrite[12];//Dateiname der Eingabedatei (Datum.Dateierweiterung)

struct stat buf;
// Auslesen des Datums aus dem Datenfile
const char* find = strrchr(har_daten, '\\');
strncpy(fwrite,find+1, 8);
zeit = strtol(fwrite,0, 16);
zeit = zeit - 86400;
time_t timer;
struct tm *tblock;
tblock = localtime(&zeit);

chdir(path);
sprintf(Jahr,"%4d",tblock->tm_year+1900);
chdir(Jahr);
sprintf(Woche,"KW_%02d",tblock->tm_yday/7+1);
chdir(Woche);
mkdir(ext);
chdir(Woche);
// Zuweisung der Dateinamen für die zu schreibenden Files
sprintf(filewrite,"HAR_%02d%02d%04d.txt ",tblock->tm_mday,tblock->tm_mon+1,tblock->tm_year+1900);
sprintf(partner,"Extern\\HAR_e_%02d%02d%04d.txt ",tblock->tm_mday,tblock->tm_mon+1,tblock->tm_year+1900);
sprintf(logfile,"HAR_log_%02d%02d%04d.txt ",tblock->tm_mday,tblock->tm_mon+1,tblock->tm_year+1900);
.....
chdir(Woche);
mkdir(rohdaten);
chdir(rohdaten);
getcwd(verzeichnis, sizeof verzeichnis);
MoveFile(har_daten, verzeichnis, true);
cout << "\nDie Datei " << har_daten << " wurde in das Verzeichnis " << verzeichnis << " verschoben.";[/PHP]

Das Problem ist: [color=red]MoveFile[/color] erfordert als Parameter einen Dateinamen inklusive Pfad. Die Variable [color=red]verzeichnis[/color] übergibt jedoch nur einen Dateipfad.

Danke.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...