Ограничение файловой системы на максимальный размер тома

Доброе утро, уважаемые форумчане. Я выполняю аналог команд в Linux( на подобие терминала). Есть код, который перемещает файл в другую директорию. Но мне надо, чтобы при выполнении перемещения выполнялась проверка на максимальный размер тома(это у меня 2 ГБ). В моем понимании размер тома = размер диска (Пусть там HDD и т.д). Я пробывал делать проверку, но если я указываю drive.TotalSize > MaxValue то, она на все действия перемещения отвечала данным сообщением, как мне нужно делать нормальное ограничение на максимальный размер тома в 2 ГБ.

using System.IO;
 
namespace ConsoleApp10
{
    class Program
    {
        static void Main(string[] args)
        {
            bool consoleEmulate = true;
            string fullCommand;
            string commandCdWay = @"F:\";
            DriveInfo[] allDrives = DriveInfo.GetDrives();
            while (consoleEmulate)
            {
                Console.Write($@"{commandCdWay}>");
                fullCommand = Console.ReadLine();
                string command = "g", commandCharacter = "g";
                string copyFileDirectoryWay = "g";
                bool firstSymbol = true;
 
                bool part2 = false;
                bool part3 = false;
                for (int i = 0; i < fullCommand.Length; i++)
                {
 
                    if (fullCommand[i] != ' ' && !part2)
                    {
                        if (firstSymbol)
                        {
                            command = Convert.ToString(fullCommand[i]);
                            firstSymbol = false;
                        }
                        else
                        {
                            command += fullCommand[i];
                        }
 
                    }
                    else if (!part3)//запись commandCharacter
                    {
                        if (fullCommand[i] == ' ' && part2)
                        {
                            part3 = true;
                        }
                        if (!part2)
                        {
                            firstSymbol = true;
                        }
                        part2 = true;
 
                        if (firstSymbol && fullCommand[i] != ' ')
                        {
                            commandCharacter = Convert.ToString(fullCommand[i]);
                            firstSymbol = false;
                        }
                        else if (!firstSymbol)
                        {
                            commandCharacter += fullCommand[i];
                        }
                    }
                    else if (part3)//copyfile directory way
                    {
                        if (fullCommand[i] == ' ')
                        {
                            firstSymbol = true;
                        }
                        if (firstSymbol && fullCommand[i] != ' ')
                        {
                            copyFileDirectoryWay = Convert.ToString(fullCommand[i]);
                            firstSymbol = false;
                        }
                        else if (!firstSymbol)
                        {
                            copyFileDirectoryWay += fullCommand[i];
                        }
 
                    }
 
                }
 
                 if (command == "filecopy") // перемещение файла в другую директорию
                {
 
                    copyFileDirectoryWay = copyFileDirectoryWay.Remove(0, 1);
                    commandCharacter = commandCharacter.Trim();
                    FileInfo fileInfo = new FileInfo(@$"{commandCdWay}\{commandCharacter}");
                    DirectoryInfo copyDirInfo = new DirectoryInfo(copyFileDirectoryWay);
                    //string disk = commandCdWay;
                    double MaxValue = 2147483648;
                    foreach (var drive in DriveInfo.GetDrives())
                    {
                        if (drive.TotalSize > MaxValue) {
                            Console.WriteLine("Ограничение размера тома");
 
                        }
 
                        else if (fileInfo.Exists && copyDirInfo.Exists)
                        {
                            fileInfo.CopyTo(copyFileDirectoryWay, false);
                        }
                    }
 
 
                }
 
                else if (command == "rmdir")//удаление
                {
                    FileInfo fileInf = new FileInfo(@$"{commandCdWay}\{commandCharacter}");
                    fileInf.Delete();
 
 
                }
            }
 
        }
    }
    } 

Ответы (0 шт):