• 締切済み

VBsciprtで「$」が文字列として扱われない?

ファイルサーバの空き容量を取得しようとしています。 ファイルパスを \\pcname\folder$ で取れるサーバがあるのですが、権限の関係上 \\pcname\folder$\subfolder でなければ取れない場所があります。 前者はFileSystemObjectで取れるのですが、後者はエラーとなります。 後者はコンパイルエラーではなく、ファイルパスが存在しないとのエラーなので、 「$」は演算子でもないでしょうし、何がおかしいのか、どう対処すればいいのかがわかりません。 どうやら「$」の後にファイル・フォルダ名があると取れない事まではわかったのですが・・・ 何かヒントになることはありませんでしょうか? コマンドプロンプトでdir \\pcname\folder$\subfolderでは空き容量がちゃんと取得できていますので、権限の問題ではなさそうです。

みんなの回答

回答No.1

よくわかりませんが、手元の環境 (Win2000 pro、ネットワーク上には共有フォルダを設定した Win2000 pro のみ) で、下記のスクリプトは正常に動作しました。 Set fso = CreateObject("Scripting.FileSystemObject") If (fso.FolderExists("\\pcname\test$\test01$")) Then WScript.Echo "存在します" Else WScript.Echo "存在しません" End If もちろん、\\pcname\test$ でも正常です。 フォルダの存在確認だけでしたら、これでもいいのではないかと思いますが...。 空き容量ということは、ドライブのって事になるかと思います。 現在の手元の環境では、ファイルサーバーではなく PC 上の共有フォルダでしか確認していないので正確ではないですが... こんな感じではできないでしょうか? Set fso = CreateObject("Scripting.FileSystemObject") Set src = fso.GetDrive("C:") WScript.Echo src.FreeSpace 目的の共有フォルダをネットワークドライブとしてマウントしておけばできると思いますが...詳しくは調べていませんm(_ _)m ちなみにですが、コマンドプロンプトで DIR コマンドを使っての「空き領域」は、おそらくそのフォルダが所属している "ドライブ" の空き容量ではないかと思います。 確認に使っているのが DIR コマンドだったら、どのフォルダ上で実行しても同じ「空き領域」が表示されているのではないでしょうか。 あとは... VBScript Tips (Tips0075) [ドライブ情報を取得する] http://www.whitire.com/vbs/tips0075.html Tips - (小技にも満たない)微ワザ集 http://www1.u-netsurf.ne.jp/~tomo_c/tips/WSH003.html などは参考になりませんでしょうか。

関連するQ&A

専門家に質問してみよう