ドライブ名を変更する
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
「Script」カテゴリの記事
- PsExec リモートインストール(2014.08.27)
- PowerShell学習支援ツール Script Browser & Script Analyzer(2014.05.12)
- 複数のサブフォルダ内のファイルを一括コピー(2013.06.12)
- Gmail 自動削除(2013.03.13)
- Proxy自動設定 pacファイル(2012.08.15)
The comments to this entry are closed.
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