Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di miki.
    Registrato dal
    Oct 2004
    Messaggi
    1,918

    [VB] Rinominare togliendo gli spazi

    ho trovato uno script per rinominare i file togliendo gli spazi, solo che ad un certo punto si blocca dicendo che non trova il file e non capisco perchè

    lo script

    Const cartella = "C:\temp\"
    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.Namespace(cartella)
    Set objFolderItem = objFolder.Self
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set colItems = objFolder.Items
    dim nuovo_nome
    For Each objItem in colItems
    nuovo_nome=objItem.name'replace(objItem.name, " ", "")

    objFSO.CopyFile "C:\temp\" & objItem.name , "C:\temp\" & nuovo_nome, True
    Next
    You cannot discover new oceans unless you have the courage to lose sight of the shore

    Caro Dio, quando nelle preghiere ti chiedevo di far morire quel pedofilo truccato, liftato,mentalmente disturbato e di colore indefinibile, non intendevo Michael Jackson.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Quando i programmi si bloccano, forniscono un messaggio d'errore, molte volte, abbastanza esplicito da far capire cosa e' successo.

    Vuoi dirci che tipo di messaggio ti viene proposto e in quale riga?

  3. #3
    Utente di HTML.it L'avatar di miki.
    Registrato dal
    Oct 2004
    Messaggi
    1,918
    Originariamente inviato da oregon
    Quando i programmi si bloccano, forniscono un messaggio d'errore, molte volte, abbastanza esplicito da far capire cosa e' successo.

    Vuoi dirci che tipo di messaggio ti viene proposto e in quale riga?
    L'Errore è "Impossibile trovare il file"

    alla riga
    objFSO.CopyFile "C:\temp\" & objItem.name , "C:\temp\" & nuovo_nome, True

    comunque praticamente fa quello che deve fare ma rilascia l'errore alla fine. Ho sbagliato io, perchè pensavo copiasse solo una parte dei file.
    You cannot discover new oceans unless you have the courage to lose sight of the shore

    Caro Dio, quando nelle preghiere ti chiedevo di far morire quel pedofilo truccato, liftato,mentalmente disturbato e di colore indefinibile, non intendevo Michael Jackson.

  4. #4
    Ciao Miki.

    Il tuo codice rinomina sì i file, ma facendone una copia e non sostituendo il nome. Oltre tutto la Replace funziona bene.

    codice:
    Const cartella = "C:\TEMP\"
    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.Namespace(cartella)
    Set objFolderItem = objFolder.Self
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set colItems = objFolder.Items
        
    Dim nuovo_nome
    For Each objItem In colItems
        nuovo_nome = Replace(objItem.Name, " ", "")
        
        objFSO.CopyFile "C:\temp\" & objItem.Name, _
                        "C:\temp\" & nuovo_nome, True
        objFSO.DeleteFile "C:\temp\" & objItem.Name
    Next
    Per evitare di avere una copia del file aggiungi una cancellazione del file appena copiato col nuovo nome (vedi righe in rosso)



    Buon lavoro

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

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.