Springen naar inhoud


- - - - -
Solved

Windows Scripting Hosts

Backup Maken

  • Log in a.u.b. om te beantwoorden
Er zijn 6 reacties in dit onderwerp

#1 oscar.thys

oscar.thys

    Senior Developer

  • Leden
  • PipPipPip
  • 103 berichten
    Laatst bezocht 13 mei 2015 10:18

Geplaatst op 09 mei 2013 - 16:15

Visual Basic Code:
'Ik wil een backup maken in WSH
Sub MakeFolderPath(myfolder)
For x = drv To Len(myFolder)
MyChr = mid(myFolder,x,1)
If mychr = "\" Then
xfolder = Left(myfolder, x-1)
If not fso.folderExists(xFolder)Then
fso.CreateFolder(xFolder)
End If
End If
Next'x
If not fso.folderExists(myFolder) Then
fso.CreateFolder(myFolder)
End If
End Sub
Wanneer ik dit wil uitvoeren krijg ik de volgende foutmelding:ongeldige procedure aan roep of ongeldig argument'mid'
Wat doe ik fout?

Veranderd door RedThread, 13 mei 2013 - 16:09.


#2 Jenny

Jenny

    Master Developer

  • Leden
  • PipPipPipPipPip
  • 558 berichten
    Laatst bezocht 02 apr 2017 22:13

Geplaatst op 10 mei 2013 - 21:42

in vbscript start een string op positie 1 en niet op positie 0

#3 oscar.thys

oscar.thys

    Senior Developer

  • Leden
  • PipPipPip
  • 103 berichten
    Laatst bezocht 13 mei 2015 10:18

Geplaatst op 11 mei 2013 - 09:23

Wat bedoelt u daarmee?
De foutmelding heeft betrekking op regel 4
Dus op mid(MyFolder,x,1)
Bedankt

#4 Jenny

Jenny

    Master Developer

  • Leden
  • PipPipPipPipPip
  • 558 berichten
    Laatst bezocht 02 apr 2017 22:13

Geplaatst op 11 mei 2013 - 21:56

Heel waarschijnlijk evalueert 'drv' tot 0
en dus zal x in 'mid(myFolder,x,1)' ook 0 zijn
en vraag je dus het 0-de teken van 'myfolder'
en in vbscript start een string op positie 1 en niet op positie 0

#5 oscar.thys

oscar.thys

    Senior Developer

  • Leden
  • PipPipPip
  • 103 berichten
    Laatst bezocht 13 mei 2015 10:18

Geplaatst op 12 mei 2013 - 13:53

Bedankt,maar hoe zou u dat oplossen?

#6 Jenny

Jenny

    Master Developer

  • Leden
  • PipPipPipPipPip
  • 558 berichten
    Laatst bezocht 02 apr 2017 22:13

Geplaatst op 12 mei 2013 - 16:25

Code:
Sub MaakFolders(HetPad)
   If Right(HetPad, 1) <> "\" Then
	  HetPad = HetPad & "\"
   End If
   Positie = InStr(1, HetPad, "\")
   Do While Positie > 0
	  DeFolder= Left(HetPad, Positie)
	  MsgBox DeFolder & "  " & Positie 
	  If not fso.folderExists(DeFolder)Then 
		 fso.CreateFolder(DeFolder) 
	  End If 
	  Positie = InStr(Positie + 1, HetPad, "\")
   Loop
End Sub
Set fso = CreateObject("Scripting.FileSystemObject")
Maakfolders ("C:\a0\a1\a2\a3")

ik had gedacht de vba 'DIR' functie te gebruiken
maar...vbscript kent die blijkbaar niet
als je dit min of meer foolproof wil maken google dan eens op 'forbidden filenames'

#7 oscar.thys

oscar.thys

    Senior Developer

  • Leden
  • PipPipPip
  • 103 berichten
    Laatst bezocht 13 mei 2015 10:18

Geplaatst op 13 mei 2013 - 12:26

Bedankt,het werkt





Ook met taq Solved, Backup Maken voorzien

0 gebruiker(s) lezen dit onderwerp

0 lid(leden), 0 bezoeker(s), 0 anonieme gebruikers

Inloggen


[Solved] Untitled 1

Met dank aan J├╝rgen voor de jarenlange inzet van visualbasic.be (anno dec 2000)
Met dank aan Mike en Ronneke voor de jarenlange inzet van vbib.be (anno dec 2010)
Met dank aan PascalBianca voor de jarenlange inzet van vbib.be (anno dec 2016)