ここから質問投稿すると、最大4000ポイント当たる!!!! >>

ファイルサーバの空き容量を取得しようとしています。
ファイルパスを
\\pcname\folder$
で取れるサーバがあるのですが、権限の関係上
\\pcname\folder$\subfolder
でなければ取れない場所があります。
前者はFileSystemObjectで取れるのですが、後者はエラーとなります。

後者はコンパイルエラーではなく、ファイルパスが存在しないとのエラーなので、
「$」は演算子でもないでしょうし、何がおかしいのか、どう対処すればいいのかがわかりません。
どうやら「$」の後にファイル・フォルダ名があると取れない事まではわかったのですが・・・

何かヒントになることはありませんでしょうか?
コマンドプロンプトでdir \\pcname\folder$\subfolderでは空き容量がちゃんと取得できていますので、権限の問題ではなさそうです。

このQ&Aに関連する最新のQ&A

A 回答 (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. …

などは参考になりませんでしょうか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング