mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-27 03:43:36 +00:00
[FSUTIL]
Implement fsutil volume diskfree svn path=/trunk/; revision=75913
This commit is contained in:
@@ -10,10 +10,12 @@
|
||||
|
||||
/* Add handlers here for subcommands */
|
||||
static HandlerProc DismountMain;
|
||||
static HandlerProc DiskFreeMain;
|
||||
static HandlerItem HandlersList[] =
|
||||
{
|
||||
/* Proc, name, help */
|
||||
{ DismountMain, _T("dismount"), _T("Dismounts a volume") },
|
||||
{ DiskFreeMain, _T("diskfree"), _T("Prints free space on a volume") },
|
||||
};
|
||||
|
||||
static int
|
||||
@@ -80,6 +82,32 @@ DismountMain(int argc, const TCHAR *argv[])
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
DiskFreeMain(int argc, const TCHAR *argv[])
|
||||
{
|
||||
ULARGE_INTEGER FreeAvail, TotalNumber, TotalNumberFree;
|
||||
|
||||
/* We need a path */
|
||||
if (argc < 2)
|
||||
{
|
||||
_ftprintf(stderr, _T("Usage: fsutil volume diskfree <volume path>\n"));
|
||||
_ftprintf(stderr, _T("\tFor example: fsutil volume diskfree c:\n"));
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (!GetDiskFreeSpaceEx(argv[1], &FreeAvail, &TotalNumber, &TotalNumberFree))
|
||||
{
|
||||
PrintErrorMessage(GetLastError());
|
||||
return 1;
|
||||
}
|
||||
|
||||
_ftprintf(stdout, _T("Total free bytes\t\t: %I64i\n"), TotalNumberFree.QuadPart);
|
||||
_ftprintf(stdout, _T("Total bytes\t\t\t: %I64i\n"), TotalNumber.QuadPart);
|
||||
_ftprintf(stdout, _T("Total free available bytes\t: %I64i\n"), FreeAvail.QuadPart);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void
|
||||
PrintUsage(const TCHAR * Command)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user