VBscript i.c.m. alleen lezen mappen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • ik222
  • Registratie: Maart 2007
  • Niet online
Ik heb een script gemaakt dat er voor zorgt dat een map op een netwerkschijf verwijderd wordt en dat er vervolgens een nieuwe map (die bijgewerkt is) terug wordt gezet (een soort backup dus).

Op zich werkt dit prima alleen heb ik soms het probleem dat mijn script vastloopt op het feit dat de map die verwijderd moet worden op de een of andere manier het kenmerk alleen lezen heeft. Ik zet dan handmatig het alleen lezen kenmerk uit en dan werkt het wel, dit is alleen niet echt handig. De vraag is nu hoe ik aan kan geven in het script dat ook een alleen lezen map gewoon mee verwijderd wordt.

De code die ik tot nu toe heb:

code:
1
2
3
4
' delete
Set fso = CreateObject("Scripting.FileSystemObject")
Set aFolder = fso.GetFolder("C:\testmap")
aFolder.Delete


Uiteraard bevat het script meer code maar dit is het verwijder deel

Wat ik al heb geprobeerd?

-ik heb gezocht met google maar kon niets bruikbaars vinden
-ik heb het geprobeerd met force dus:

code:
1
2
3
4
' delete
Set fso = CreateObject("Scripting.FileSystemObject")
Set aFolder = fso.GetFolder("C:\testmap")
aFolder.Delete Force=True

[ Voor 30% gewijzigd door ik222 op 30-03-2007 22:27 ]


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Als je even wat (relevante!) code plaatst die je tot nu toe hebt, dan kunnen we ook iets zinnigs erover zeggen; nu moeten we in onze kristallen bol kijken?

Kijk ook even in onze quickstart, want je topic is verre van compleet. Bij deze het vriendelijke verzoek je topicstart dan ook aan te vullen conform de quickstart.

[ Voor 44% gewijzigd door RobIII op 30-03-2007 21:59 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • ik222
  • Registratie: Maart 2007
  • Niet online
Het probleem heb ik zelf op kunnen lossen:

had achter de force boolean de waarde true toegevoegd maar dit moest False zijn nu werkt alles

[ Voor 88% gewijzigd door ik222 op 30-03-2007 22:32 ]


Acties:
  • 0 Henk 'm!

  • ZaZ
  • Registratie: Oktober 2002
  • Laatst online: 19-08 14:24

ZaZ

Tweakers abonnee

Wat je doet is vragen of Force false is. Je hebt Force niet eens gedeclareerd dus geeft ie standaard true aan omdat ie niet eens bestaat.
Visual Basic:
1
aFolder.Delete Force=False
is onnodig verwarrend en bovendien fout. Als je dit in VB5 of 6 zou gebruiken en Option Explicit staat, krijg je een error voor je snufferd.
Visual Basic:
1
aFolder.Delete True
is hoe je het dan eigenlijk zou moeten gebruiken

Lekker op de bank


Acties:
  • 0 Henk 'm!

  • Daos
  • Registratie: Oktober 2004
  • Niet online
Kan je in VBScript niet de := (ja met dubbele punt voor de =) gebruiken?

VBScript:
4
aFolder.Delete Force:=True

Acties:
  • 0 Henk 'm!

  • ZaZ
  • Registratie: Oktober 2002
  • Laatst online: 19-08 14:24

ZaZ

Tweakers abonnee

Daos schreef op vrijdag 30 maart 2007 @ 23:28:
Kan je in VBScript niet de := (ja met dubbele punt voor de =) gebruiken?
VBScript:
4
aFolder.Delete Force:=True
Nee dat is sowieso fout. Je haalt nu een Pascal achtig dialect door de war met Vbscript.
Maar zelfs als VBS het zou pikken, zou het nog niet werken. Je gebruikt namelijk een assign operator en dan nog, Force is geen globale variabele of een property van iets die je aanroept.
Het is een parameter die je meegeeft aan een functie of procedure.

Lekker op de bank


Acties:
  • 0 Henk 'm!

  • SKiLLa
  • Registratie: Februari 2002
  • Niet online

SKiLLa

Byte or nibble a bit ?

Download de officiele MS reference in .chm formaat. Staan veel FSO code samples in ...
Een must have :Y)

'Political Correctness is fascism pretending to be good manners.' - George Carlin


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
ZaZ schreef op zaterdag 31 maart 2007 @ 01:10:
[...]

Nee dat is sowieso fout. Je haalt nu een Pascal achtig dialect door de war met Vbscript.
Maar zelfs als VBS het zou pikken, zou het nog niet werken. Je gebruikt namelijk een assign operator en dan nog, Force is geen globale variabele of een property van iets die je aanroept.
Het is een parameter die je meegeeft aan een functie of procedure.
Nee, dat is niet waar; je kunt in VBA iig, en in VBScript weet ik het niet zeker, de volgorde van de parameters veranderen door ze named te maken; en dat doe je idd met de := constructie.

Zo is (in VBA) dit:
code:
1
Object.SomeMethod ParamA:=1, ParamB:="bar"

hetzelfde als:
code:
1
Object.SomeMethod ParamB:="bar", ParamA:=1


De volgorde van de parameters doet er in dit geval dus niet toe omdat je ze named toekent.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • ZaZ
  • Registratie: Oktober 2002
  • Laatst online: 19-08 14:24

ZaZ

Tweakers abonnee

Ah, I stand corrected :)
Wist niet dat dat mogelijk was.

Lekker op de bank

Pagina: 1