2016-04-13 9 views
2

ルートディレクトリc:\ testのすべてのフォルダに「pst」という名前のサブフォルダを作成するスクリプトがあります。 'pst'フォルダを隠すために、このスクリプトにどのようなコードを追加する必要がありますか?複数の隠しサブフォルダを作成するためのvbscript

folder_path = "c:\test" 
Set fso = CreateObject("Scripting.FileSystemObject") 
Set folder = fso.GetFolder(folder_path) 
For each f in folder.SubFolders 
fso.CreateFolder(f & "\PST") 
next 

ご協力いただきまして誠にありがとうございます。

答えて

1

あなたはこのような何かを試すことができます:あなたがする必要があるのは、フォルダ属性で遊ぶ

Option Explicit 
Dim fso,folder_path,folder,f 
folder_path = "c:\test" 
Set fso = CreateObject("Scripting.FileSystemObject") 
Set folder = fso.GetFolder(folder_path) 
For each f in folder.SubFolders 
'wscript.echo f & "\PST" 
    If Not fso.FolderExists(f & "\PST") Then 
     fso.CreateFolder(f & "\PST") 
     Call Hide(f & "\PST") 
    End If 
    If fso.FolderExists(f & "\PST") Then 
     Call Hide(f & "\PST") 
    End If 
Next 
'********************************************** 
Sub Hide(MyFolder) 
    Dim Command,Result,Ws 
    Command = "Cmd /c attrib +h " & DblQuote(MyFolder) &"" 
'wscript.echo Command 
    Set Ws = CreateObject("Wscript.Shell") 
    Result = Ws.Run(Command,0,True) 
End Sub 
'********************************************** 
Function DblQuote(Str) 
    DblQuote = Chr(34) & Str & Chr(34) 
End Function 
'********************************************** 
+0

あなたは既になぜちょうど*クルミを割るためにハンマーを使用して* attrib'は私見である ''コールするWScript.Shell'を使用して、 'Hidden'を設定することで、属性を変更しないでFSOを呼び出しています。 – Lankymart

+0

@Lankymart私は難しいやり方でそれをやりたいのですが、それは5/5で動作します:) – Hackoo

+1

これは巨大なスクリプトの一部であり、その代わりに2つのCOMオブジェクトをインスタンス化しなければならないと想像しましたか?もしそれらのオブジェクトがメモリ上に正しくリリースされていない場合、そのパフォーマンスには何の影響がありますか?(パフォーマンスが良くなるのは興味深いでしょう)*。 – Lankymart

2

です。

Const Directory = 16 
Const Hidden = 2 

folder_path = "c:\test" 
Set fso = CreateObject("Scripting.FileSystemObject") 
Set folder = fso.GetFolder(folder_path) 
For each f in folder.SubFolders 
    With fso.CreateFolder(fso.BuildPath(f, "PST")) 'returns folder object 
     .Attributes = Directory Or Hidden 'set hidden flag for directory 
    End With 
Next 
+1

@Lankymart訂正していただきありがとうございます。 –

関連する問題