« 自動ログイン | Main | リモート アシスタンス へのショートカット »

Jul 29, 2006

ドライブ名を変更する

Windowsにおいて、特にWindowsXPではネットワークドライブに接続した場合、
ドライブ名が非常に長くなることがあります。
例) File Server01\Users\hogehoge (H:) など

簡単にドライブ名を変更するスクリプトです。

drivename_change.vbs
----
mDrive = "drive_letter"
Set oShell = CreateObject("Shell.Application")
oShell.NameSpace(mDrive).Self.Name = "Drive_Name"
----
変更するドライブを "drive_letter"に exsample "e:\"
ドライブ名を "Drive_Name"に exsample "Net drive"
に変更してください。


--例) g及びhドライブはファイルサーバーに接続しているとする
mapping_drivename_change.vbs
----
mDrive = "g:\"
Set oShell = CreateObject("Shell.Application")
oShell.NameSpace(mDrive).Self.Name = "Group drive"

mDrive = "h:\"
Set oShell = CreateObject("Shell.Application")
oShell.NameSpace(mDrive).Self.Name = "User drive"
----


--参考図書
WINDOWSサーバー HACKS


←クリック一票

|

« 自動ログイン | Main | リモート アシスタンス へのショートカット »

Script」カテゴリの記事

Comments

drivename_change.vbsを参考にさせていただきました。

このスクリプトですが、"Drive_Name"の箇所を%USERNAME%などの環境変数に替える事は可能でしょうか?

環境変数を取得して。。。などと試してみようと思うのですが、VBSは初めてなので今ひとつよく分かりません。

不勉強で申し訳ありませんがご教授いただければありがたいです。

Posted by: 赤かぶ | Nov 10, 2009 12:01

> 赤かぶさん

試してみたのですが、"%USERNAME%"であったり(%USERNAME%)と指定しても
動作しませんでした。
ちょっと調べてみますので少々お時間をください。

取り急ぎ、wshではないのですが、DOSコマンドであれば”label”という
コマンドが使えそうです。
詳細は後ほどご報告したいと思います。

Posted by: NOFX2 | Nov 11, 2009 09:15

さっそくの返答ありがとうございます。

cmdでのlabelコマンドは試してみましたが、ログオンバッチでネットワークドライブのラベルを変更するのは不可能のようです。

また、”Drive_Name”を%USERNAME%等に変更するのは私も試してみましたが、やはり同様にダメでした。

最近、Vistaなどはネットワークドライブのパスを隠すような仕様になりつつあるようです。しかし、XPで表示される長いパスや隠し共有の$記号を隠したかったりするのですが、情報がなかなか無く、色々調べた結果、御サイトにたどり着いたという訳です。

お手数をおかけしますがよろしくお願いします。m(__)m

Posted by: 赤かぶ | Nov 11, 2009 10:06

> 赤かぶさん

ユーザー環境変数を取得するとできそうです。
----
mDrive = "h:\"

Set oShell = CreateObject("Shell.Application")

Set UserEnv = WshShell.Environment("USER")

oShell.NameSpace(mDrive).Self.Name = UserEnv("USERNAME")
----
遅くなりました。

上記で動きませんでしょうか。

--参考ページ
http://www.vacant-eyes.jp/tips/twsh/090.aspx

Posted by: NOFX2 | Nov 13, 2009 01:40

お世話になります。

ありがとうございました。

教えていただいたスクリプトを参考に、色々試したところ以下のようなもので実現することができました。
--
mDrive = "h:\"
Set oShell = CreateObject("Shell.Application")
Set objShell = WScript.CreateObject("WScript.Shell")
oShell.NameSpace(mDrive).Self.Name = objShell.ExpandEnvironmentStrings("%USERNAME%")
--
以上です。大変ありがたかったです。
ありがとうございました。

Posted by: 赤かぶ | Nov 13, 2009 16:21

> 赤かぶさん

無事に解決されたようで何よりです。
これからもよろしくお願いします。

Posted by: NOFX2 | Nov 13, 2009 18:53

The comments to this entry are closed.

TrackBack


Listed below are links to weblogs that reference ドライブ名を変更する:

« 自動ログイン | Main | リモート アシスタンス へのショートカット »