ハードなソフトの話

アクセスカウンタ

zoom RSS PowerShellでネットワークドライブをUNCに変換する

<<   作成日時 : 2013/10/10 23:34   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

Windowsのコマンドプロンプト(CMD)でネットワークドライブのUNCパスを知りたいときは、NET USEコマンドを使う。

たとえば、U: のUNCパスを知りたいときは次のようになる:

NET USE U:

出力例:

image

多少、余計な情報は表示されているが、「リモート名」を確認すれば、UNCパスだけを簡単に得ることができる。

PowerShellの場合、少々長ったらしいが、次のようにすると、UNCパスの文字列だけを取得できる:

(Get-WMIObject -query "Select * From Win32_LogicalDisk Where DeviceID='U:' and DriveType = 4").ProviderName

出力例:

image

これを応用すれば、ネットワークドライブのパスをUNCパスに変換できる。

コマンド引数に渡されたネットワークドライブのパスをUNCに変換するプログラムは次のようになる。

$ndpath = $Args[0]
$drive  = split-path $ndpath -Qualifier  # ドライブを取得
$unc    = (Get-WMIObject -query "Select * From Win32_LogicalDisk Where DeviceID='$drive' and DriveType = 4").ProviderName
if ( $unc -eq $null ){ $ndpath }else{ join-path $unc (split-path $ndpath -NoQualifier) }

上記のプログラムをnd2unc.ps1 というファイル名で保存した場合、PowerShellでは次のように実行する:

.\nd2unc.ps1 U:\20120608064005.txt

出力例:

image

あとは、これを「送る」メニューに仕掛けて、クリップボードにコピーすると便利かもしれない。

 

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
PowerShellでネットワークドライブをUNCに変換する ハードなソフトの話/BIGLOBEウェブリブログ
文字サイズ:       閉じる