0

こんにちは私はファイルの拡張子をピックアップするために以下のスクリプトiveを動作させることができません、私が間違っているところを指摘することによって私を助けることができますか?

dim fileSystem, folder, file 
dim path
dim count : count = 0
path = "C:\temp" 

Set fileSystem = CreateObject("Scripting.FileSystemObject") 
Set folder = fileSystem.GetFolder(path)

for each file in folder.Files     
    if file.DateLastModified > dateadd("h", -24, Now) & File.name = "txt" then 

count = count + 1

end if
Next

if count < 4 then

Set WshShell = WScript.CreateObject("WScript.Shell")
strcommand = "eventcreate /T ERROR /ID 666 /L Application /SO BESROffsite /D " & _  
Chr(34) & count & " Files found please check offsite copy " & Chr(34)  
WshShell.Run strcommand
wScript.Quit ( 1001 )

Else

Set WshShell = WScript.CreateObject("WScript.Shell")
strcommand = "eventcreate /T Information /ID 666 /L Application /SO BESROffsite /D " & _  
Chr(34) & count & " Files found offsite is working fine " & Chr(34)  
WshShell.Run strcommand
wScript.Quit ( 0 )
End if
4

2 に答える 2

2

File.name拡張子をテストするための、拡張子を含むフルネームです。

if ... fileSystem.getExtensionName(file.name) = "txt" then

また、ビット単位で連結するのでAndはなく、論理的なものも必要です。&

于 2012-07-04T11:20:59.250 に答える
0

Alexの答えはあなたが望むものですが、参照用に、vbsと文字列ファイル名だけで作業していて、filesystemobjectコレクションがなくても同じことができます。

Right(strFilename, Len(strFilename) - Instrrev(strFilename, "."))

これは基本的に最後の「。」の位置を見つけます。ファイル名で、これをファイル名の長さから取り除き、右側から等しい数の文字を提供します。これは、「右」ではなく「中」コマンドを使用するように少し修正できますが、このような場合はそれほど重要ではないと思います。

于 2012-07-04T15:27:26.020 に答える