evvivame

[Vbs] Ampliamento Comando If

5 messaggi in questa discussione

Ciao!

Sto usando con successo un script preso da web di cui riporto SOLO il comandi IF che vorrei ampliare:

If file.DateLastModified < newdate Or LCase(file.Name) = "thumbs.db" Then

WScript.Echo "///// Delete file: " & folders.Path & "\" & file.Name & " ultima modifica: " & file.DateLastModified

On Error Resume Next ''Be very careful about this! It masks any error you're getting.

file.Delete True

On Error Goto 0

Il vbs a cui fa riferimento questo comando, come potranno vedere chi conosce il linguaggio, cancella i file con la data di modifica > xx giorni o se il file è "thumbs.db".

E fin qui tutto bene!

La mi esigenza è la seguente:

il comando IF deve trattare le condizioni come specificate ESCLUSO se il file è aa.txt o bb.txt

Esempio da ignorante:

If file.DateLastModified < newdate Or LCase(file.Name) = "thumbs.db" And ( LCase(file.Name) <> "aa.txt" or

And LCase(file.Name) <> "bb.txt") Then......

Per favore mi aiutate ?

Grazie !!!

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Le parentesi... Devi aumentarle... :D

If
(
(file.(DateLastModified) < newdate)
Or
(LCase(file.Name) = "thumbs.db")
)
And
(
(LCase(file.Name) <> "aa.txt")
or
(LCase(file.Name) <> "bb.txt")
)

Contale, verifica e ragiona. Non è detto che abbia fatto bene...

Devi partire al centro della condizione ed estenderla pezzo per pezzo

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Grazie per la risposta !!!!!!!!!!!!

Allora se lancio il vbs senza mofifica esce questo log:

Microsoft ® Windows Script Host Versione 5.7

Copyright © Microsoft Corporation 1996-2001. Tutti i diritti riservati.

--> Today:13/01/2016 20.34.41

--> Variabil days=65

Check files older than:09/11/2015 20.34.41

==========================================

Beginning of check files older than:09/11/2015 20.34.41

========================================================

Check files older in folder:D:\Temp

=========================================================

Check files older in folder:D:\Temp\ATI

=========================================================

Check files older in folder:D:\Temp\ATI\C

=========================================================

Check files older in folder:D:\Temp\ATI\D

=========================================================

End of check files older than:09/11/2015 20.34.41

=================================================

mentre con la modifica tua ( non elimina nessun file ) ed il log è (SOLO) questo:

Microsoft ® Windows Script Host Versione 5.7

Copyright © Microsoft Corporation 1996-2001. Tutti i diritti riservati.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

p.s.

Per aiutarti ad aiutarmi....

La vers. 3 è FUNZIONANTE E SENZA MODIFICA

La vers. 4 è CON LA TUA MODIFICA MA NON FUNZIONANTE

Grazie ancora....

delete.zip

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Ok nella tua proposta c'èra qualche () in piu infatti DateLastModified non andava parentisato.

Ora funziona come per quanto riguarda i file vecchi SENZA PERO' ESCLUDERE DALL'ELIMINAZIONE i file aa.txt o bb.txt.

If ((file.DateLastModified < newdate) Or (LCase(file.Name) = "thumbs.db")) And ((LCase(file.Name) <> "aa.txt") or (LCase(file.Name) <> "bb.txt")) Then .....

Modificato da evvivame

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Crea un account o accedi per lasciare un commento

Devi essere un utente registrato per partecipare

Crea un account

Iscriviti per un nuovo account nella nostra community. È facile!


Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.


Accedi Ora