View Full Version : [HELP] Spazi nel percorso di un file batch non riconosciuti
Salve, ho un problema nel eseguire un file batch generato da un programma terzi, in pratica l'esecuzione viene interrotta perche' il sistema non riconosce gli spazi del percorso e non so veramente come risolvere. il quadro e' questo:
set JAVA_HOME=C:\PROGRA~2\Java\Cartella Nome\JDK
set PATH=%JAVA_HOME%\bin;%PATH%
qui ho provato ad eseguire il comando manualmente e non mi ha ritornato nessun errore e inoltre ho inserito il percorso creandolo nelle variabili di sistema tramite il pannello di controllo ma nella riga seguente ho l'interruzione
C:\Windows\SysWOW64\cmd.exe /u /c C:\PROGRA~2\Programma\Programma Nome\esegui.bat
Qui ho un errore di non riconoscimento del comando perche' si ferma a "programma" e non raggiunge il file batch
Esaminando meglio il log trovo che il primo percorso e' scritto con abbreviazione a 8 caratteri tipico del Dos ma subito dopo il percorso rimane esteso ma la cosa non cambia, oltretutto il comand dir /x non mi restituisce l'abbreviazione della sottocartella anceh volendo riscrivere il file batch...
Come risolvo? Perche Win 7 ha ancora di queste restrizioni? Grazie :muro:
Nicodemo Timoteo Taddeo
25-05-2011, 11:51
Come risolvo? Perche Win 7 ha ancora di queste restrizioni? Grazie :muro:
Non è solo Win ad avere di queste restrizioni ma anche altri OS hanno le logiche difficoltà a distinguere un comando quando c'è lo spazio in un nome file o directory. Del resto poni il caso che C:\PROGRA~2\Programma\Programma fosse esatto e Nome\esegui.bat fosse invece l'ozione da passare sulla riga di comando? Chi glielo dice alla shell testuale dove finisce il nome del file ed inizia l'opzione? Glielo dice il carattere ".
Metti C:\PROGRA~2\Programma\Programma Nome\esegui.bat tra "" cioè
"C:\PROGRA~2\Programma\Programma Nome\esegui.bat" e la shell testuale sa che tutta quella stringa è un nome file con il percorso intero. A questo punto meglio ancora se sostituisci PROGRA~2 con il nome esatto e ti togli anche questo possibile problema.
Saluti.
Non è solo Win ad avere di queste restrizioni ma anche altri OS hanno le logiche difficoltà a distinguere un comando quando c'è lo spazio in un nome file o directory. Del resto poni il caso che C:\PROGRA~2\Programma\Programma fosse esatto e Nome\esegui.bat fosse invece l'ozione da passare sulla riga di comando? Chi glielo dice alla shell testuale dove finisce il nome del file ed inizia l'opzione? Glielo dice il carattere ".
Metti C:\PROGRA~2\Programma\Programma Nome\esegui.bat tra "" cioè
"C:\PROGRA~2\Programma\Programma Nome\esegui.bat" e la shell testuale sa che tutta quella stringa è un nome file con il percorso intero. A questo punto meglio ancora se sostituisci PROGRA~2 con il nome esatto e ti togli anche questo possibile problema.
Saluti.
Ti ringrazio della tua veloce risposta.
Provero' a riscrivere la riga manualmente e riportero' eventuali (spero di no ma anche il percorso JAVA_HOME mi da noia..) problemi.
Grazie : )
Dunque non sembra propio averne..
Ho consultato un altro utente che come me sta testando il programma in questione (Adobe Dreamweaver CS5.5) e la sua stringa in uscita e' come la mia MA il percorso e' interamente convertito in Short Path mentre il mio ha solamente la prima cartella convertita in DOS il resto no e anche inserendo " nella riga di comando come da te suggerito mi ritorna un errore di DIR sconosciuta?? Allora ho cercato per un po' un programma che mi aiutasse a trovare il nome in DOS di un percorso perche anche se con il command mi posiziono nella penultima cartella dir /x non mi mostra il nome della cartella in DOS, e ho trovato un programmino (Short Path 0.2) che DOVREBBE convertire un percorso dato in Short Path quindi in DOS ma niente...nemmeno il programma mi aiuta restituendomi il percorso per intero...che depressione:muro: :muro: mi domando dove posso guardare
AMIGASYSTEM
25-05-2011, 22:39
Salve, ho un problema nel eseguire un file batch generato da un programma terzi, in pratica l'esecuzione viene interrotta perche' il sistema non riconosce gli spazi del percorso e non so veramente come risolvere. il quadro e' questo:
set JAVA_HOME=C:\PROGRA~2\Java\Cartella Nome\JDK
set PATH=%JAVA_HOME%\bin;%PATH%
qui ho provato ad eseguire il comando manualmente e non mi ha ritornato nessun errore e inoltre ho inserito il percorso creandolo nelle variabili di sistema tramite il pannello di controllo ma nella riga seguente ho l'interruzione
C:\Windows\SysWOW64\cmd.exe /u /c C:\PROGRA~2\Programma\Programma Nome\esegui.bat
Qui ho un errore di non riconoscimento del comando perche' si ferma a "programma" e non raggiunge il file batch
Esaminando meglio il log trovo che il primo percorso e' scritto con abbreviazione a 8 caratteri tipico del Dos ma subito dopo il percorso rimane esteso ma la cosa non cambia, oltretutto il comand dir /x non mi restituisce l'abbreviazione della sottocartella anceh volendo riscrivere il file batch...
Come risolvo? Perche Win 7 ha ancora di queste restrizioni? Grazie :muro:
Su Vista e Win7,la cartella Programmi non esiste,si tratta solo di un collegamento,prova a fare una DIR dal prompt,vedrai al suo posto Program Files.
Nicodemo Timoteo Taddeo
26-05-2011, 06:33
Francamente non capisco perché ti intestardisci con i nomi corti in stile 8+3. NTFS grazie al cielo ha sempre avuto il supporto per i nomi file e directory di... quanti sono? 255 caratteri? Non vedo perché andare contro-natura :)
Nel prompt dei comandi (non DOS. Cancella questa parola quandi ti riferisci a Windows di classe NT, il DOS non esiste), puoi vedere quale è il percorso esatto di ogni file, con un copia-incolla lo puoi trasferire dove vuoi e se ci sono spazi nel nome di un file o directory va inserito tra due caratteri "
Se qualcosa non funziona così vuol dire che l'errore sta da un'altra parte.
Saluti.
Francamente non capisco perché ti intestardisci con i nomi corti in stile 8+3. NTFS grazie al cielo ha sempre avuto il supporto per i nomi file e directory di... quanti sono? 255 caratteri? Non vedo perché andare contro-natura :)
Nel prompt dei comandi (non DOS. Cancella questa parola quandi ti riferisci a Windows di classe NT, il DOS non esiste), puoi vedere quale è il percorso esatto di ogni file, con un copia-incolla lo puoi trasferire dove vuoi e se ci sono spazi nel nome di un file o directory va inserito tra due caratteri "
Se qualcosa non funziona così vuol dire che l'errore sta da un'altra parte.
Saluti.
Ciao Nicodemo, faccio riferimento al DOS solo per definire l'abbreviazione dei percorsi "tipica" del DOS (8 caratteri) ed essendo abituato a trattare tutto in inglese a volte faccio fatica a spiegarla in italiano :) Torniamo a noi..
Il problema rimane..sto cercando di capire perche' anche se inserisco il percorso tra due caratteri " si interrompe comunque restituendomi un persorco sconosciuto, il tutto viene da una esecuzione interna da Dreamweaver CS.5.5 che una volta fallito mi restituisce un log con l'esatta struttura del file batch che contiene questo esatto percorso:
set ANT_HOME=C:\PROGRA~2\Adobe\Adobe Dreamweaver CS5.5\Configuration\NativeAppFramework\apache-ant
set ANDROID_HOME=C:\android-sdk
set JAVA_HOME=C:\PROGRA~2\Adobe\Adobe Dreamweaver CS5.5\JDK
set PATH=%JAVA_HOME%\bin;%PATH%
cd C:\Users\m\Desktop\com.test.app_Android
C:\Windows\SysWOW64\cmd.exe /u /c C:\PROGRA~2\Adobe\Adobe Dreamweaver CS5.5\Configuration\NativeAppFramework\DWPhoneGap\android\scripts\droidGap.bat "C:\Program Files (x86)\Adobe\Adobe Dreamweaver CS5.5\Configuration\NativeAppFramework\DWPhoneGap\android\PhoneGapApp" "test" com.test.app 0.5 "C:\android-sdk" 8
Come vedi la prima cartella e' in Short Path le seguenti no, come scritto ho ricevuto da un'altro utente che opera su Win 7 64 il suo log del comando avvenuto :
C:\Windows\SysWOW64\cmd.exe /u /c C:\PROGRA~2\Adobe\ADOBED~2.5\CONFIG~1\NATIVE~1\DWPHON~1\android\scripts\droidGap.bat “C:\Program Files (x86)\Adobe\Adobe Dreamweaver CS5.5\Configuration\NativeAppFramework\DWPhoneGap\android\PhoneGapApp” “Calc” com.itwriting.calc 1.0 “C:\androidsdk” 5
ed come vedi il suo percorso viene restituito tutto in Short Path, ho anche trovato un piccolo software che calcola il percorso breve di un percorso dato ma nulla..mi restituisce lo stesso mio percorso di sopra...vabbe'..cerchero' ; )
X AMIGASYSTEM
Ho Win 7 64 in Inglese..non cercavo la cartella Programmi :)
AMIGASYSTEM
26-05-2011, 10:31
X AMIGASYSTEM
Ho Win 7 64 in Inglese..non cercavo la cartella Programmi :)
Ok,da PROGRA~2 non era facile capirlo
Ok,da PROGRA~2 non era facile capirlo
beh ..immagino di no :D
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.