эквивалент корневой папки в windows - PullRequest
6 голосов
/ 30 сентября 2008

Обрабатывается ли диск C как корневая папка в Windows, если в linux указано \ folder1 \ folder2 \, а в Windows - C: \ folder1 \ folder2.

Ответы [ 10 ]

12 голосов
/ 30 сентября 2008

В Windows это зависит от того, на каком диске находится ваш текущий рабочий каталог в данный момент. Если ваш текущий каталог находится на диске C, то C: \ будет корневым. Если текущим каталогом является диск D, то D: \ будет корневым. Абсолютного корня не существует.

11 голосов
/ 30 сентября 2008

На уровне файловой системы Win32 API не имеет корневой папки, но, как отмечали другие, Shell API делает, т.е. Рабочий стол. Пространство имен оболочки просматривается с помощью (графической) оболочки, которая называется Explorer.exe.

На гораздо более низком уровне ядро ​​Windows также имеет корневую папку, а реестр и файловая система являются ее подпапками. Это актуально, если вы пишете драйвер устройства. Пространство имен Object Manager можно просматривать с помощью инструмента под названием WinObj .

8 голосов
/ 30 сентября 2008

Если вы используете Windows CE, то \ является корневым каталогом. Это похоже на корневой каталог Unix. Это единственный вид Windows, где вы можете получить простой ответ на свой вопрос.

Если вы используете Windows NT / 2000 / XP / 2003, то ближайшим аналогом является раздел, содержащий файлы NTLDR, NTDETECT.COM, BOOT.INI и BOOTFONT.BIN. BIOS и MBR находят этот раздел, определяя, с какого диска начать загрузку, сканируя MBR и ища активный раздел. Microsoft называет это системным разделом. Я не совсем уверен, как программа может найти, какой раздел это был. В любом случае, когда вы найдете, какая это буква диска, скажем, буква L, вы можете сказать, что L: \ является корневым каталогом. В 99% случаев это будет буква C:.

Также, если вы используете Windows NT / 2000 / XP / 2003, у вас также есть раздел, который содержит системные файлы Windows, такие как каталог \ Windows или другие. Microsoft называет это загрузочным разделом. Вы можете получить букву диска из символа% SystemDrive%, как сказал кто-то другой. Если это буква Q диска, вы можете сказать, что Q: \ является корнем системного диска.

Если вы работаете в Vista, то все сложнее. Если вы установили при загрузке DVD, то загрузочный раздел (содержащий системные файлы) - это C: и ваш системный раздел (содержащий загрузочные файлы) - это D:, если только они не являются одним и тем же разделом, а затем разделом является C :. Но если вы установили Windows с уже запущенной операционной системой, вставив DVD и запустив установщик под этой установкой Windows, то буквы диска могут быть практически любыми.

В Windows 95/98 / ME BIOS и MBR будут искать файлы IO.SYS, COMMAND.COM и некоторые другие в активном разделе. Обычно это получает букву диска C: корневой раздел будет C :. Как всегда, системные файлы Windows могут быть установлены в каталог \ Windows или другие в любом разделе.

Некоторые люди говорят о рабочем столе. Ну конечно, у каждого вошедшего в систему пользователя есть рабочий стол. Это похоже на домашний каталог каждого пользователя Unix. Это точно не корневой каталог.

Приложение. В последнем абзаце о Windows 95/98 / ME я набрал «таким образом, чтобы корневой раздел был C:». То есть буква C, двоеточие, обратный слеш, а затем точка в конце предложения (не является частью имени каталога). При просмотре страницы обратная косая черта не отображается. Но при редактировании этого ответа, чтобы добавить это дополнение, обратная косая черта там точно так, как и должно быть, именно так, как я его напечатал.

7 голосов
/ 30 сентября 2008

В Windows у вас нет специального корневого узла, вместо этого у вас есть некоторая точка входа в файловой системе в виде переменных среды:

% AppData%

% ProgramFiles%

% CommonProgramFiles%

% SystemDrive%

% SystemRoot%

лучшим эквивалентом корня может быть% SystemDrive%, даже если концепция корня находится вне контекста в Windows.

4 голосов
/ 30 сентября 2008

Как уже упоминали другие, Windows отличается от UNIX, где файловые системы имеют единое логическое пространство для всех устройств (каждое устройство монтируется в это пространство, например, в /dev/floppy).

В Windows каждое устройство (будь то раздел жесткого диска, диск CD / DVD или флэш-накопитель) имеет свое собственное пространство логического пути, корень которого находится в каталоге "\" его буквы логического диска.

Несмотря на то, что проводник Windows работает наполовину прилично, организуя все диски в разделе «Мой компьютер», это чистый сахар пользовательского интерфейса, и нет возможности перейти с одной буквы диска на другую по относительным путям.

Однако каждая отдельная файловая система диска ведет себя аналогично UNIX и имеет корень с именем «\».

4 голосов
/ 30 сентября 2008

Windows не разделяет UNIX-концепцию корневой папки. Вместо этого каждый раздел или устройство с файловым хранилищем имеет собственную корневую папку. Учитывая, что раздел / диск C: (почти) неизменно является домом операционной системы, вы можете считать, что его корневая папка одинакова для Windows.

1 голос
/ 30 сентября 2008

Unix использует файловую систему для представления почти всех частей системы сверху вниз, что означает, что папка корневой файловой системы логически также представляет «системный корень». Но в Windows файловая система не так тесно связана с системой, поэтому в файловой системе отсутствует понятие «корень системы». Хью объясняет это более подробно.

1 голос
/ 30 сентября 2008

В Windows корневой папкой будет рабочий стол. Desktop-> компьютер-> C: \ folder1 \ folder2 с интерфейсом IShellFolder.

0 голосов
/ 27 февраля 2014

На самом деле Windows имеет корневую папку. Папка, хотя и не видна, известна как «i386»

0 голосов
/ 30 сентября 2008

да, "\" - корневая папка текущего диска. Например. Команда DOS «cd \» меняет текущий каталог на корневую папку, или «cd \ folder1 \ folder2» переходит в «c: \ folder1 \ folder2»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...