Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    eliminare da un elenco i nomi ripetuti

    Ho un elenco su un file txt con tutti nomi, tipo na cosa:

    pasquale
    michele
    maria
    roberto
    anna
    ecc

    si tratta di una lista lunghissima e vorrei fare in automatico un controllo che elimina la copia di uno di questi nomi.

    per esempio se il nome maria si ripete 3-4 volte in tutta la lista, deve cancellare tutti i doppioni e lasciare solo una volta quel nome.

    Come posso fare in 5 minuti?
    Mai dire Mai

  2. #2
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,995
    Lo apri con excel, fai l'ordinamento, elimini i doppioni, lo risalvi in txt

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Oppure vai di powershell.

    La scarichi da qui
    http://www.microsoft.com/windowsserv.../download.mspx

    la installi, la richiami da esegui digitando powershell, raggiungi come faresti dal prompt dei comandi la cartella contenente tale file e dai questo comando

    gc nomefile.txt | sort | gu | out-file unici.txt

    e il gioco è fatto.

  4. #4
    ok grazie per le info. alla fine ho fatto come diceva patel
    Mai dire Mai

  5. #5
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,995
    credo che una macro per farlo in automatico non dovrebbe essere complicata per certi esperti che frequentano questo forum e potrebbe tornare utile a tutti.

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Salvare il file con estensione vbs. Lanciarlo e scegliere il file di cui si vogliono rimuovere i doppioni. Resta il fatto che con powershell basta mezza riga di codice.
    codice:
    Const ForReading = 1
    Const ForWriting = 2
    
     
    Set objDialog = CreateObject("UserAccounts.CommonDialog")
    objDialog.Filter = "Text Files|*.Txt"
    intResult = objDialog.ShowOpen
    If intResult = 0 Then
    Wscript.Quit
    Else
    strFileName = objDialog.FileName
    End If
    
    Set objDictionary = CreateObject("Scripting.Dictionary")
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFile = objFSO.OpenTextFile(strFileName, ForReading)
    
    Do Until objFile.AtEndOfStream
    	strName = objFile.ReadLine
    	If Not objDictionary.Exists(strName) Then
    		objDictionary.Add strName, strName
    	End If
    Loop
    objFile.Close
    
     
    Set objFile = objFSO.OpenTextFile(strFileName, ForWriting)
    For Each strKey in objDictionary.Keys
      objFile.WriteLine strKey
    Next
    
     
    objFile.Close
    MsgBox "Rimossi doppioni dal file " & strFileName

  7. #7
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,995
    funziona benissimo, bravo ! ho incollato in un file di testo ed ho cambiato l'estensione in vbs, doppio clic e via. Non avevo dubbi. Mi piacerebbe sapere qualcosa di più, è necessario avere installato Office ?

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da patel
    è necessario avere installato Office ?
    Non è necessario che office sia installato.

  9. #9
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,995
    non ti far pregare dove trovo una guida ?

  10. #10
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da patel
    non ti far pregare dove trovo una guida ?
    Di che cosa, di vbs?

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.