在我的环境中,我有很多挂载点驱动器(以下称为 MPD),为了简化我的问题,假设我有一个全名是
d:\data\DBA\Perf\abc.sql
在这种情况下,d:\data 实际上是一个 MPD,但我们不知道它的面值。(即它可以是 D:\ 驱动器,带有一个名为 \data\DBA 的文件夹)
如何使用 PowerShell 从该文件全名中找出 D:\Data 是 MPD?
我的环境是 Windows 2012 R2 + PowerShell V5。
我最初的解决方案是查找所有 MP 驱动器(我有 10 多个这样的 MPD,例如 d:\Log、e:\backup、d:\MP\Backup 等),然后尝试遍历所有 MPD 以查找是否有 MPD name 包含在文件的全名中。如果是这样,我知道 abc.sql 在 MPD 中。
我只是想知道是否有更好的解决方案,例如如何找到文件所在的挂载点?. 这个解决方案是针对 Linux 的,但是这个解决方案的关键点是用os.path.ismount(path)测试路径中包含的每个目录。
我们可以在 Windows 中有类似的解决方案吗?或者您的大师可能在 Windows 中有更好的解决方案?
TIA,
杰夫姚