Percorso directory contenente spazi.

di Anonimizzato15149 il
13 risposte
Salve, sono nuovo.
Innanzitutto mi scuso se già esistono discussioni del genere, ma nonostante qualcuna lo accenni, non trovo soluzioni. Il problema ce l'ho con le directory contenenti spazi, più precisamente con program files.
Se io scrivo
system("start C:\Program Files")
mi dà un errore che dice che non esiste la cartella "C:\Program", perchè, per via dello spazio, tronca la lettura. Come posso ovviare a questo problema?
Grazie in anticipo.

13 Risposte

  • Nello specifico, racchiudi C:\Program Files tra virgolette "
  • Non funziona, apre il prompt e non fa niente.
  • Prova C:\Program\ Files
  • Nemmeno questo va
  • Prova con
    system("start 'C:\Program Files'")
    Nota gli apici che racchiudono il path
  • Non va
  • A questo punto, sei sicuro che l'errore sia proprio questo? Puoi farci vedere una porzione più ampia di codice? I metodi che ti sono stati proposti sono tutti validi e dovrebbero funzionare
  • Il codice è solo quello, stavo facendo delle prove, c'è solo questo nel main...
    Io avevo fatto:

    system("start C:\\Program Files");

    poi mi è stato detto di fare:

    system("start \"C:\\Program Files\"");

    e infine:
    system("start C:\\'Program Files'");

    Il primo e il secondo dicono "impossibile trovare la cartella "C:\Program". Il terzo apre un eseguibile che non fa niente e ha scritto il percorso del progetto.
  • Hai franteso i suggerimenti che ti abbiamo dato
    Gli apici devono racchiudere tutto il path, non solo "Program Files"!
    Oppure, come diceva jJjjJ la slash \ deve essere inserita prima dello spazio che divide le parole "Program" e "Files".
  • Forse vuoi fare questo

    system("explorer \"C:\\Program Files\"");


    ?
  • tuixte ha scritto:


    Hai franteso i suggerimenti che ti abbiamo dato
    Gli apici devono racchiudere tutto il path, non solo "Program Files"!
    Oppure, come diceva jJjjJ la slash \ deve essere inserita prima dello spazio che divide le parole "Program" e "Files".
    Nono, qui ho sbagliato a scrivere, ma lì ho fatto così
    Grazie mille *-*
    Ho fatto delle prova ed ho notato che:
    system("percorso); ---> Apre sole exe
    system("start percorso");---> Apre tutto ma non ammette percorsi con spazi
    system("explorer percorso"); ---> ammette anche spazi, anche se non sono tra virgolette, ho visto che va anche system("explorer C:\\Progam Files");
    Dico bene?
    Se sbaglio qualcuno mi spiega la differenza tra le tre?
  • La differenza tra tutte è che non stai programmando ma stai usando system come se stessi creando dei file batch.
    Se vuoi un programma funzionale impara ad utilizzare
  • Grazie mille, tutti davvero esaurienti!
Devi accedere o registrarti per scrivere nel forum
13 risposte