2016-04-14 9 views
0

私はディレクトリ内のすべてのフォルダやファイルをカウント/リスト/移動/カウントするvbscriptを書くためにいくつかの他の投稿に従ってきました。それには2つの制限があります。VBScriptを使用してフォルダとファイルの数を確認する

1)正しい番号が返されません(少なくともWindowsエクスプローラと一致しません)。 I.E.、私は自分のC:\を検索し、ウィンドウが+10,000(とサブフォルダーC:\ Windows、2,234を返す)のままになっているときに433のフォルダーを返します。

2)管理者としてスクリプトを実行していても、さまざまな場所にあるフォルダにアクセスすると、アクセス許可エラーが発生します。ここで

は私が小さいフォルダをテストするよう、でも多くのサブフォルダと、それが動作することを、簡単なコードです:

[Option Explicit 
'on error resume next 

Dim objFolder, objFSO, objSubFolder, iFolders 
Set objFSO = CreateObject("Scripting.FileSystemObject") 

iFolders = 0 

Call CountFolders("C:\Windows") 

Sub CountFolders(strPath) 
    Set objFolder = objFSO.GetFolder(strPath) 
     For Each objSubFolder In objFolder.SubFolders 
       iFolders = iFolders + 1 
       If Right(iFolders, 2) = "00" Then 
        IF MsgBox(iFolders & " folders found so far.", VBOKCancel) = 2 Then 
         Wscript.quit 
        End If 
       End If 
       Call CountFolders(objSubFolder.Path) 
     Next 
End Sub 

msgbox(iFolders)] 

1 私は、ファイル・システム・オブジェクトがなくて何ができるかの限界を押しアム他の問題に取り組んでいますか?

おかげで

+0

私は、C:\またはWindowsディレクトリ全体のような非常に大きなフォルダ構造がある場合にのみ、正しい数またはそれ以下の数を返します。また、エラーなくこれを行います。 – DrTarr

答えて

0

それは、VBScriptするを持ってていますか? MicrosoftはVBScriptを後にして、新しいスクリプトをPowerShellで実行する必要があります。 PowerShellで

これは何
$everything = get-childitem -path c:\ -recurse -force; 
$Foldercount = $everything|where-object{$_.psiscontainer}|measure-object |select-object -ExpandProperty count; 
$Filecount = $everything|where-object{-not $_.psiscontainer}|measure-object |select-object -ExpandProperty count; 

write-output "$Foldercount folders"; 
write-output "$Filecount files"; 

  • ではありませんどのように多くのアイテムフォルダ
  • カウントされているどのように多くの項目Cドライブ上のすべて
  • カウントを収集フォルダ
  • 結果を印刷
+0

いいえ、そうである必要はありませんし、私はおそらくabondon VBScriptを動作させるでしょうが、最初から始める代わりにうまくいけば、うまく適応した既存のスクリプトがいくつかありました。たぶん、スピードアップする時が来ました。パワーシェルオプションを試してみましょう。 – DrTarr

+0

私はpowershellを試してみましたが、それははるかに良く機能しました(433の代わりに33,000のフォルダが見つかりましたが、これは実際にはWindowsエクスプローラが見つけたものよりも多い)が​​、管理者がアクセスしなければならないフォルダに対しては拒否された。スクリプトファイルを管理者のコマンドラインから実行しました。 – DrTarr

関連する問題