Bar

PowerShell とコマンド プロンプトを使って共有フォルダへ移動する方法

WHS2011やWindows Server 2012 R2 Essentialsが提供する共有フォルダ上のファイルを操作する際、PowerShellやコマンドプロンプトで操作した方が何かと便利な時があります。
たとえば、Explorer上から削除できないファイルを操作するなど。
今回はPowerShell、および、コマンド プロンプトを使って共有フォルダへ移動する方法をメモ。

PowerShell を使用する場合

PowerShellを使用し共有フォルダへ移動する場合は
>Set-Location \\ServerName\ShareFolder
を実行します。
余談ですが、Set-Locationコマンドレットは、ローカルドライブや共有フォルダ以外に、プロバイダによって公開されているデータを使用できます。かなり便利ですね!
PS C:\Users\xxx> Get-PSProvider

Name            Capabilities                                      Drives

--------------------------------------------------------------------------
WSMan         Credentials                                       {WSMan}

Alias              ShouldProcess                                 {Alias}

Environment  ShouldProcess                                 {Env}

FileSystem    Filter, ShouldProcess                       {C, E, D, F...}

Function        ShouldProcess                                 {Function}

Registry         ShouldProcess, Transactions          {HKLM, HKCU}

Variable         ShouldProcess                                 {Variable}

Certificate      ShouldProcess                                 {cert}

コマンド プロンプトを使用する場合

コマンド プロンプトでcd \\ServerName\ShareFolderを実行すると
'\\ServerName\ShareFolder'

CMD では UNC パスは現在のディレクトリとしてサポートされません。
と表示されます。
コマンド プロンプトを使用し共有フォルダへ移動する場合は、pushdコマンドを使用します。
>pushd \\ServerName\ShareFolder
移動が完了するとZドライブがマウントされます。(Zドライブがマウントされていないのが前提)
複数のpushdコマンドを実行するとドライブレターはZ:→Y:→X:~と割り当てられます。
下記画像はpushdコマンドを実行した結果で、XドライブがWS2012R2Eの共有フォルダ、ZドライブがWHS2011の共有フォルダとなります。
image
フォルダ・ファイル操作が完了した場合は
>popd
を実行すると、元の場所(例えば、C:\Users\xxxx)に戻ります。