Windows中等效的根文件夹

时间:2020-03-06 14:54:30  来源:igfitidea点击:

当在Linux和Windows C:\ folder1 \ folder2中说\ folder1 \ folder2 \时,C驱动器是否被视为Windows中的根文件夹。

解决方案

是的," "是当前驱动器的根文件夹。例如。 DOS命令" cd "将当前目录更改为根目录,或者" cd \ folder1 \ folder2"转到" c:\ folder1 \ folder2"

在Windows中,它与当前当前工作目录所在的驱动器有关。如果当前目录位于C驱动器中,则C:\将成为根目录。如果当前目录是D驱动器,则D:\将成为根目录。没有绝对的根源。

Windows不共享UNIX根文件夹的概念。而是,每个具有文件存储空间的分区或者设备都有其自己的根文件夹。鉴于C:分区/驱动器(几乎)始终是操作系统的主目录,但是,我们可能会认为其根文件夹对于Windows是相同的。

正如其他人提到的,Windows与UNIX不同,在UNIX中,文件系统为所有设备提供一个逻辑"路径"空间(每个设备都挂载到该空间中,例如/ dev / floppy)。

在Windows中,每个设备(无论是硬盘分区,CD / DVD Rom还是闪存驱动器)都有其自己的逻辑路径空间,该空间以其逻辑驱动器号的" "目录为根。

尽管Windows资源管理器在"我的电脑"下组织所有驱动器做得很不错,但这只是纯UI糖,无法通过相对路径将一个驱动器号转换为另一个驱动器号。

但是,每个单独的驱动器文件系统的行为都类似于UNIX,并且具有一个称为" "的根。

在Windows中,根文件夹将是桌面。
桌面->计算机-> C:\ folder1 \ folder2
与IShellFolder接口。

在文件系统级别,Win32 API没有根文件夹,但是正如其他人指出的那样,Shell API却存在。桌面。使用(图形)shell(恰好是Explorer.exe)浏览Shell命名空间。

在较低的级别上,Windows内核也有一个根文件夹,注册表和文件系统是它的子文件夹。如果要编写设备驱动程序,则这是相关的。可以使用称为WinObj的工具浏览对象管理器名称空间。

在Windows中,我们没有特殊的根节点,而是以环境变量的形式在文件系统上具有一些入口点:

%应用程序数据%

%ProgramFiles%

%CommonProgramFiles%

%SystemDrive%

%系统根%

即使根的概念在Windows中没有上下文,根的更好等效项也可以是%SystemDrive%。

Unix使用文件系统从上到下表示系统的几乎所有部分,这意味着根文件系统文件夹在逻辑上也表示"系统根"。但是在Windows中,文件系统并没有如此紧密地联系到系统,因此在文件系统中没有"系统根目录"的概念。休更详细地说明了这一点。

如果我们正在运行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,冒号,反斜杠,然后是句末的句点(不是目录名的一部分)。查看页面时,不显示反斜杠。但是,在编辑此答案以添加此附录时,反斜杠的位置与我键入的内容完全相同。