« 自動ログイン | 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

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack


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

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