Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

Vbscript roepen met een parameter

Pagina: 1
Acties:
  • 54 views sinds 30-01-2008

Verwijderd

Topicstarter
hoi allemaal,

ik ben nieuw hier, ik had een vraagje, ik zat een beetje met vbscript te werken, dus heb ik effe wat inelkaar gezet wat aan mijn eisen bijna voldoet, nu loop ik ergens vast.

hier is mijn code:

XZip.dll hoort erbij
-----------------------------------------------------------------------------------------------------------------------------
Function zipFolder(foldername)
Dim jaar, maand, dag
Dim outputname

jaar = CStr(Year(Date))
maand = CStr(Month(Date))
dag = CStr(Day(Date))

' normale datumoutput
outputname = String(4 - Len(jaar), "0") & jaar & String(2 - Len(maand), "0") & maand & String(2 - Len(dag), "0") & dag & ".zip"
outputname = foldername & "\" & outputname

' ActiveX object aanmaken voor logfiles
Dim curFiles()
getFiles foldername, ".log", curFiles

Dim ZipFile
Set ZipFile = CreateObject("XStandard.Zip")

For Each source In curFiles
Set delFile = CreateObject("Scripting.FileSystemObject")

If delFile.FileExists(source) Then
ZipFile.Pack source, outputname
delFile.DeleteFile source, True
End If
Next
Set ZipFile = Nothing
End Function

Function getFiles(folder, extensie, byref arraylist)
Dim fsO
Set fsO = CreateObject("Scripting.FileSystemObject")
Dim files
Set files = fsO.GetFolder(folder)

'Dim outputFiles()
ReDim arraylist(files.Files.Count)

Dim x
x = 0
For Each file In files.Files

If InStr(1, file.DateCreated, CStr(Date)) > 0 Then
arraylist(x) = file
x = x + 1
End If

Next
ReDim Preserve arraylist(x)
End Function

zipFolder("C:\test")
---------------------------------------------------------------------------------------------------------------------------------------------
wat doen deze code, die gaan naar een aangegeven directory, en alle bestanden met een .txt en .log extensie zippen, en de naam verandert naar de datum van de dag wanneer het gedraait is en hij pakt alleen bestanden die op die dag gemaakt zijn.

maar mijn vraag is, hoe roep ik nou die code/.vbs bestaand, via een batch file met een parameter?

of

dat ik zeg maar ipv van zipFolder("C:\test") meer directorys kan aangeven?

Bedankt _/-\o_

Verwijderd

Topicstarter
Laat maar jongens ik heb em al gevonden.

oplossing:

je maakt er gewoon het volgende van vanonderen in de code

CodeDim s
For Each s In WScript.Arguments
zipFolder(s)
Next


dus ipv zipFolder("C:\test")

dan roep je het scriptje aan
test.vbs C:\Test C:\test2 "C:\program files\test3"

bvb

let wel op dat je bij locaties met een spatie de " " gebruikt, zodat het script hem ziet als 1 parameter

  • sopsop
  • Registratie: Januari 2002
  • Laatst online: 28-11 11:15

sopsop

[v] [;,,;] [v]

Visual Basic:
1
2
3
4
5
set objArgs = WScript.Arguments
WScript.Echo "Total number of arguments: " & WScript.Arguments.Count
for each strArg in objArgs
    WScript.Echo strArg
next

Gewoon googlen op vbscript command line parameters

Verwijderd

Topicstarter
ja bedankt man, maarik heb het al gevonden, hierboven zie je oplossing,.

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 30-11 15:10

Creepy

Tactical Espionage Splatterer

Dus vrij simpel zelf te vinden (had je zelf al gezocht? Zie Programming Beleid) en daarnaast hoort het ook nog eens niet thuis in PRG (zie Waar hoort mijn topic?).

Wil je daar een volgende keer aub op letten? Scheelt weer een gesloten topic.

[ Voor 15% gewijzigd door Creepy op 17-09-2007 15:59 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Dit topic is gesloten.