Gambas-it

Gambas3 => Programmazione => Topic aperto da: Gianluigi - 31 Gennaio 2019, 22:38:23

Titolo: Come affrontare il carattere $ nel nome dei file
Inserito da: Gianluigi - 31 Gennaio 2019, 22:38:23
Oggi Ujlain mi ha chiesto come inserire nel comando Shell mv il nome di un file contenente il carattere speciale $ e per la precisione /home/uzi/test file $GivesError more#**.txt.

Gli ho mandato due risposte la prima dicendogli di usare direttamente la funzione Gambas:
Codice: [Seleziona]
Move "/home/uzi/test file $GivesError more#**.txt" To "/home/uzi/testfile.txt"
L'altra che teneva conto del fatto che nel terminale occorre anteporre al carattere speciale la barra rovesciata e al contempo inserire la frase fra doppi apici così (comando bash):
Codice: [Seleziona]
mv /home/uzi/"test file \$GivesError more#**.txt" /home/uzi/testfile.txt
Tenendo conto che la barra rovesciata è un carattere speciale anche in Gambas il comando Shell andava formattato così:
Codice: [Seleziona]
  Dim sPath As String = "/home/uzi/\"test file \\$GivesError more#**.txt\""
  Shell Subst$("mv &1 &2", sPath, "/home/uzi/testfile.txt")
Titolo: Re:Come affrontare il carattere $ nel nome dei file
Inserito da: Gianluigi - 01 Febbraio 2019, 09:32:27
Ujlain mi ha risposto che i miei suggerimenti non funzionano.
Siccome a me funzionano vorrei chiedervi gentilmente una verifica.
Naturalmente nella path "uzi" deve essere sostituito col vostro nome utente e prima occorre creare (sempre nella home) un file di testo fittizio nominato test file $GivesError more#**.txt

Grazie per la collaborazione

mi ero dimenticato un pezzo di nome  :-[
Titolo: Re:Come affrontare il carattere $ nel nome dei file
Inserito da: cogier - 01 Febbraio 2019, 17:42:41
Funziona..

Codice: [Seleziona]
Move User.Home &/ "test file $GivesError more#**.txt" To User.home &/ "testfile.txt"
Titolo: Re:Come affrontare il carattere $ nel nome dei file
Inserito da: Gianluigi - 01 Febbraio 2019, 18:23:54
Funziona..

Codice: [Seleziona]
Move User.Home &/ "test file $GivesError more#**.txt" To User.home &/ "testfile.txt"

 :ok:

Grazie Charlie