私たちは、あなたが非常にWindows 10
にPowershell
でTest-Path
を使用した場合のWindows Server 2012 R2を持つサーバーでは、Windows 10Windows Server 2012 R2の長いファイルパスが機能しません。
と比較する場合は特に、32K MAX_PATH能力のためにREFを使用したが、期待通りに働いていないインストールされています
Test-Path -Path "\\?\UNC\hostname\share\very\long\path" -PathType Container
それはtrueを返しますが、あなたはWindows Server 2012 R2
で同じコマンドを発行する場合にはFalseを返します。以下のパターンを使用して長いUNC。どちらのシステムもPowershellの最新バージョンを使用しており、両方のシステムでロングパスがレジストリで有効になっています。
これはWindows 10では動作しますが、Windows Server 2012 R2では動作しない理由は何ですか?
APIが表示されるまでに長いパスの
サポートは、PowerShellの/過去ログに追加されなかった(更新プログラムのいずれかを。) – TravisEz13
travisez13 @ Win32ファイル管理API(つまりCreateFileW)のユニコードバージョンであれば、ReFSとWindows Server 2012 R2ですでに動作していると言うMicrosoftの記事は、ReFSショップをサポートしています。なぜ2012 R2では動作しませんか? 2012 R2でpowershellの代わりにAPI呼び出しを指示しますか? – vane
ダイレクトコールが機能するはずです。たとえば、PowerShellからの呼び出しをP/Invokeできるようにする必要があります。私は、P/Invoke呼び出しをラップするモジュールで答えを追加しました。 – TravisEz13