12. oktober 2003 - 20:02Der er
2 kommentarer og 1 løsning
Finde filer på drev
Jeg sidder med et lille problem, jeg skal hurtig have lavet et lille script som søger min harddisk igennem for PST filer og senere kopier dem til et backup drev.
ligenu prøver jeg med at køre en dos Command via WHS.
-----Code ---- Function Copyfiles(drive) 'drive indeholder c: & d: osv. Dim oShell Set oShell = WScript.CreateObject ("WSCript.shell") oShell.run """cmd /K Dir/s "&drive&"\*.PST""" Set oShell = Nothing End Function ------Code ---- Min oshell.run køre ikke den command, som jeg har skrivet, kan nogle hjælpe mig her ? Eller er der ikke en nemmere måde at søge ens drev igennem efter filer vis VBS / WHS ?
Selvom mange ledere i danske virksomheder udviser stor interessere for kunstig intelligens (AI), tøver de med at tage teknologien i brug.
19. november 2024
Slettet bruger
12. oktober 2003 - 21:00#1
Du kan søge efter filer ved at kombinere vbscripts filesystemobject og regular expressions:
Set args = WScript.Arguments
If args.Count <> 2 Then WScript.Echo "Wrong number of arguments" WScript.Echo "Usage: " & WScript.ScriptName & " <path> ""<pattern>""" WScript.Quit End If
path = args(0) pattern = args(1)
Set fso = createObject("Scripting.FileSystemObject") Set root = fso.GetFolder(path)
Set regEx = New RegExp regEx.Pattern = pattern regEx.IgnoreCase = True
traverseFolders(root)
Function traverseFolders(root) searchFiles(root) For Each folder in root.SubFolders traverseFolders(folder) Next End Function
Function searchFiles(root) For Each file in root.Files If regEx.Test(file.Name) Then WScript.Echo file.Path End If Next End Function
For at finde .PST filer på c-drevet kan du kører scriptet med
cscript find.vbs c:\ "\.PST$"
Hvor det sidste kan være et vilkårligt regulært udtryk
Selv om det er et VBscript, du efterspørger, så vil jeg lige vise, hvad man kan på "den gammeldags måde":
Hvis du blot vil have en liste over dine mst-filer kan du gøre således:
Hvis du i en kommandosession skriver dir c:\*.mst >liste.txt /s vil du få en fil liste.txt, som indeholder en liste over alle filer med efterbnavnet mst.
Hvis du skriver xcopy c:\*.mst e:\bckup /s nu vil bckup-kataloget indeholde alle filer med efternavnet mst. Ulempen er, at bckup ikke indeholder en liste af filer, med de ligger i underkataloger, på samme måde som på c-drevet.
Den gammeldags måde er den jeg bruger nu, men den er rigtig træls når man skal "kopier" filer ind på exchanger server for 20-300 personer..... og de ikke "bare" ligger i en mappe pr bruger. Noget andet er at jeg skal ud og sotere imellem netwærks drev og alm fysisike drev.. hvilket er svært at gøre i dos... for at gøre alt "nemmere" skal scriptet kunne køre på ALLE windows versioner altså også win9x...
Men mange tak for hjælpen JJUST får mine points.....
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.