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

    [VB6] Sostituire spazio nelle directory

    Un saluto circolare a tutti,
    stò cercando di costruirmi una funzione in vb6 che mi sostituisca lo spazio di una directory ed eventualmente sottodirectory che contengono spazi con un _
    Per esempio:
    D:\Nuova Cartella\Test\Test Spazio
    dovrebbe diventare:
    D:\Nuova_Cartella\Test\Test_Spazio
    Ho provato ad utilizzare la funzione Replace(stringa, " ", "_")
    insieme a
    Name FileName As NewFileName
    ma purtroppo funziona solo se la directory è priva di sottodirectory.
    C'e' un modo per sostituire gli spazi con un _ e riniminare directory e sottodirectory?

    Anticipatamente ringrazio.
    Paolo

  2. #2
    Usa la split per separare le singole componenti del percorso, quindi usa la replace su ognuna di esse (se ho capito bene il problema ).
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Originariamente inviato da MItaly
    Usa la split per separare le singole componenti del percorso, quindi usa la replace su ognuna di esse (se ho capito bene il problema ).
    Ho utilizzato anche questo sistema andando a scindere con lo split tutte le sottodirectory, ma quando vado a modificarle mi da errore di runtime 53 file non trovato.
    Funziona solo con la prima directory se questa non ha sottodirectory.

    Paolo

  4. #4
    Originariamente inviato da Valerossi
    Ho utilizzato anche questo sistema andando a scindere con lo split tutte le sottodirectory, ma quando vado a modificarle mi da errore di runtime 53 file non trovato.
    Funziona solo con la prima directory se questa non ha sottodirectory.

    Paolo
    Il problema non sono gli spazi, il motivo è semplice:
    Tu chiedi di rinominare qualcosa che non esiste.
    Per esempio:
    supponiamo di avere il file "c:\aaa\Cartella\File1.txt" e di volerlo rinominare "c:\bbb\Cartella\File2.txt". Non si può subito rinominare "c:\aaa\Cartella\File1.txt" come "c:\bbb\Cartella\File2.txt". La stringa "c:\bbb\Cartella\File2.txt" per noi è un elenco di cartelle con un file, ma per Vb si tratta solo di un file, ovvero di File2.txt che ha come percorso c:\bbb\Cartella, il quale percorso non esiste. Quindi devi rinominare una cosa alla volta (partendo da sinistra o da destra, è uguale)
    Rinomini prima "c:\aaa\Cartella\File1.txt" come "c:\aaa\Cartella\File2.txt"
    successivamente "c:\aaa" come "c:\bbb"

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.