私の環境では、私の質問を単純化するために、マウントポイントドライブ(以下、MPD)をたくさん持っています。私はフルネームがPowershellを使用して、ファイルフルネームでマウントポイントドライブを見つける方法
d:\data\DBA\Perf\abc.sql
この場合、d:\ dataは実際にはMPDですが、その額面からわかりません。 (つまり、\ data \ DBAというフォルダを使用してD:\ドライブにすることができます)
D:\ DataはPowerShellでこのファイルのフルネームのMPDですか?
私の環境はWindows 2012 R2 + PowerShell V5です。
私の初期の解決策は、すべてのMPドライブ(d:\ Log、e:\ backup、d:\ MP \ Backupなどの10以上のMPDがあります)を見つけてから、 MPD名がファイルのフルネームに含まれているかどうかを調べます。もしそうなら、私はabc.sqlがMPDにあることを知っています。
もっと良い解決策があるかどうかは、このHow to find the mountpoint a file resides on?のようなものですか?このソリューションはLinux用ですが、このソリューションのポイントは、パスに含まれる各ディレクトリをos.path.ismount(パス)でテストすることです。
Windowsでも同様のソリューションを使用できますか?あるいは、あなたはWindowsでもっと良い解決策を持っているかもしれませんか?
TIA、
Jeff_yao
これは本当に素晴らしいし、多くの助けになります。あなたは本当の教祖です。 – jyao
@ wOxxOm、もしあなたが気にしないのであれば、LinkType/TargetプロパティはPS V5でしか使えないようですね。私はPowerShell V4でスクリプトをテストしているので、PS V5ではすべて正常に動作しているように見えますが、動作していないようです。 :-) – jyao
@jyao、そうだね、この機能はPS5に追加されたようだ。 – wOxxOm