Sie sind nicht angemeldet.

  • Anmelden

1

20.06.2004, 23:30

vbs help

ich habe ein prob mit diesem Code! Er zeigt immer alle bat files an obwohl ich nur die mit dem Code "Del *.*" haben will ..
___code start
Set fso = createobject("scripting.filesystemobject")
Set Drives=fso.drives
For Each Drive in Drives
If drive.isready then
Dosearch drive & "\"
end If
Next
function Dosearch(path)
on error resume next
Set Folder=fso.getfolder(path)
Set Files = folder.files
For Each File in files
If fso.GetExtensionName(file.path)="bat" then
Set org = fso.OpenTextFile(file.path, 1)
If org.Readline = "del" Then
org.Close
msgbox file.path&" this file is dangerous!", ,"Alarm!"
elseif org.ReadLine <> "del" Then
org.Close
msgbox file.path&" this file is cool!", ,":)"
end if
end if
next
Set Subfolders = folder.SubFolders
For Each Subfolder in Subfolders
Dosearch Subfolder.path
Next
end function
ò_Ó

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »FodA_KiM« (21.06.2004, 04:30)


2

22.06.2004, 05:51

RE: vbs help

1. wenn du die "coolen" files nicht angezeigt kriegen willst, kommentier die entsprechenden zeilen aus
2. If org.Readline = "del" findet nur zeilen, die ausschließlich aus del bestehen. nimm besser instr.
abgesehen davon wird nur die erste zeile geprüft -- und da steht in einer normalen batch eher sowas wie @echo off...

Set fso = createobject("scripting.filesystemobject")
Set Drives=fso.drives
For Each Drive in Drives
If drive.isready then
Dosearch drive & "\"
end If
Next

function Dosearch(path)
on error resume next
Set Folder=fso.getfolder(path)
Set Files = folder.files
For Each File in files
If fso.GetExtensionName(file.path)="bat" then
Set org = fso.OpenTextFile(file.path, 1)
If instr(org.Readline, "del ")>0 Then
org.Close
msgbox file.path&" this file is dangerous!", ,"Alarm!"
'elseif org.ReadLine <> "del" Then
' org.Close
' msgbox file.path&" this file is cool!", ,""
end if
end if
next
Set Subfolders = folder.SubFolders
For Each Subfolder in Subfolders
Dosearch Subfolder.path
Next
end function