Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    3

    Help Vbs

    ciao a tutti
    ho recuperato in retete il seguente codice per cancellare determinati file con determinata estensione in una determinata directory.
    io avrei bisogno di escludere dei file (pippo.tmp,pluto.tmp,paperino.tmp)
    ho pensato di farlo con un array ma essendo neofita non riesco.
    qualcuno può aiutarmi????


    IL CODICE :

    codice:
    OPTION EXPLICIT
    on error resume next
    DIM strExtensionsToDelete,strFolder
    DIM objFSO
    
    
    
    ' ************************************************************
    ' Setup
    ' ************************************************************
    
    ' Folder to delete files from (files will also be deleted from subfolders)
    strFolder = "D:\"
    ' A comma separated list of file extensions
    ' Files with extensions provided in the list below will be deleted
    strExtensionsToDelete = "tmp"
    ' file da non cancellare
    ' ************************************************************
    
    set objFSO = createobject("Scripting.FileSystemObject")
    
    RecursiveDeleteByExtension strFolder,strExtensionsToDelete
    
    
    sub  RecursiveDeleteByExtension(byval strDirectory,strExtensionsToDelete)
        DIM objFolder, objSubFolder, objFile
        DIM strExt
    DIM skip(2)
              skip(0)="pippo"
              skip(1)="pluto"
              skip(2)="paperino"
    		  
    DIM count		  
    For count = 0 To UBound(skip)
    
        set objFolder = objFSO.GetFolder(strDirectory)
        for each objFile in objFolder.Files
    		 if instr(lcase(objFile.name),lcase(counter(skip))) = 0 then
    			for each strExt in SPLIT(UCASE(strExtensionsToDelete),",")
    				if RIGHT(UCASE(objFile.Path),LEN(strExt)+1) = "." & strExt then
    					objFile.Delete
    				end if
    			next
    		else
    			wscript.echo "File skippato: " & objFile.name
    		end if
        next    
        for each objSubFolder in objFolder.SubFolders
            RecursiveDeleteByExtension objSubFolder.Path,strExtensionsToDelete
        next
    	
    end sub

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326

    Moderazione

    Ti invito innanzitutto a prendere visione del Regolamento interno. In particolare:

    1) Sei nell'area sbagliata: VB viene trattato nel forum "Visual Basic e .NET Framework"
    2) Hai inserito un titolo che non è assolutamente conforme a quanto richiesto (dal buon senso, più che dal regolamento)
    3) Il codice è stato postato senza l'uso degli appositi tag CODE: con il risultato che è tutto un'accozzaglia, ha perso formattazione e indentazione
    4) Dici "... ma essendo neofita non riesco", senza specificare esattamente cosa hai fatto, come hai provato a scrivere il codice, quali errori hai ottenuto o quali risultati errati ti ha dato il programma.


    Specifica meglio qual è il problema che hai avuto e non solo quello che vuoi ottenere.

    Io, nel frattempo, correggo tutto quanto posso correggere e sposto la discussione.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    3
    mi scuso ma la fretta è una cattiva compagna....
    la prossima volta starò piu attento.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Cosa è

    counter(skip)

    ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    3
    è errato, non era counter(skip) ma count(skip)
    tra le varie prove deve essermi sfuggito.

    la mia intenzione era di prendere tutti i nomi nell' Array skip....e di escluderli dalla cancellazione.

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Ma neanche count(skip) ha senso ... forse volevi scrivere skip(count)
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    invece di un array

    ToSkip="|pippo|pluto|paperino|" <--- attento ai pipe!

    ....


    IF ToSkip.Contains("|"+file_da_controllare+"|") Then
    ' non cancello
    else
    ' cancello
    End If

    facce sape'

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Contains in vbs ... ? se po fa' ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Originariamente inviato da oregon
    Contains in vbs ... ? se po fa' ?
    azz allora

    IF Instr(ToSkip,"|"+file_da_controllare+"|")>0 Then


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.