Freier Speicherplatz auf (Netz-)Laufwerken rausfinden? Dateien bewegen?

Supa

Erfahrenes Mitglied
hy...

... weis jemand, ob und wenn ja wie, man irgendwie den freien Speicherplatz auf Festplatten bzw. noch besser, auf Netzlaufwerken rausfinden kann?

und ich würd noch gerne wissen, ob und wenn ja wie, man dateien bewegen kann.

Beispiel: ich möchte die datei "c:\test.txt" nach "d:\temp\" kopieren/bewegen. vorher möchte ich wissen ob genügend speicherplatz auf dem ziellaufwerk ist (am besten den genauen verfügbaren Speicherplatz).

ich hoffe ihr versteht, was ich meine.

gruß Dennis
 
Freierspeicherplatz von Laufwerken auf dem eigenen Rechner kriegst du
mit DiskFree(). Alles weitere findest du in der Hilfe.

Zu Netzlaufwerken weiß ich leider nichts.

Dateien bewegen als Befehl gibt es nicht. Aber mit CopyFile() und
anschließendem DeleteFile() der Quelle erreichst du das gewünschte Ziel...

BadMourning
 
BadMourning hat gesagt.:
Dateien bewegen als Befehl gibt es nicht. Aber mit CopyFile() und
anschließendem DeleteFile() der Quelle erreichst du das gewünschte Ziel...
BadMourning

Wie währe es mit der Win-API Funktion MoveFile bzw. MoveFileEx? Oder du machst es wie im Windows Explorer mit SHFileOperation.
 
also das DiskFree() schonmal sehr gut... danke! geht übrigens auch bei netzlaufwerken hab ich rausgefunden.

aber das mit dem MoveFile() geht irgendwie noch nicht.

und die hilfe "SHFileOperation" versteh ich irgendwie gar nicht erst :confused:
komisch komisch!

hat da nicht irgend jemand vieleicht nen code ausschnitt zu? würde mir sehr weiter helfen!
 
hier:

Code:
BOOL MyMoveFile( AnsiString Src, AnsiString Dest )
{
  if( FileExists( Src )
  {
    if( FileExists( Dest )
    {
      DeleteFile( Dest );
    }

    if( CopyFile( Src.c_str(), Dest.c_str(), FALSE );
    {
      DeleteFile( Src );

      return TRUE;
    }
  }

  return FALSE;
}

Greets,
BadMourning
 
naja... bei dir waren noch ein paar kleinigkeiten zu verbessern, aber trotzdem vielen dank für die hilfe!

ich habs jetzt testweise mal so gemacht:
Code:
AnsiString  Src=Edit1->Text;
AnsiString Dest=Edit2->Text;

MoveFile( Src.c_str(), Dest.c_str() );
{
  if( FileExists( Src ))
  {
    if( FileExists( Dest ))
    {
      DeleteFile( Dest );
    }

    if( CopyFile( Src.c_str(), Dest.c_str(), FALSE) )
    {
      DeleteFile( Src );
    }
  }
}
so... alles schön und gut. jetzt hab ich nochmal geguckt, ob ich über die hilfe von borland infos zum kopieren ganzer ordner finde... aber... irgendwie hab ich da nichts gefunden!

ihr müsst endschuldigen, aber "win-api" is totales neuland für mich! meint ihr, ihr könntet noch mal so 'nen "code-fetzen" zum kopieren von ordnern posten :rolleyes: wäre top!

gruß & thx Dennis

EDIT:
schon gut... danke! hab was passendes aus nem anderen beitrag gefunden (hochlebe die suchfunktion :) ):

Code:
#include <shellapi.h>
SHFILEOPSTRUCT DatOp;

DatOp.pTo = "c:\\wohin\\neuer ordner";
DatOp.pFrom = "c:\\blabla\\alter ordner";
DatOp.fFlags = FOF_SILENT|FOF_NOCONFIRMATION|FOF_NOCONFIRMMKDIR;
DatOp.wFunc = FO_COPY;

int Erfolgreich = !SHFileOperation(&DatOp);
 
Zuletzt bearbeitet:
das sollte auch kein vorwurf sein!

hab nur nochmal gesagt, damit das nicht irgendwer kopiert und sich dann wundert, warum das nicht !
 
Zurück