Newsgroup: it.comp.os.dos
Titolo: file baatch con cambio estensione

Ho un eseguibile che converte immagini jpg in immagini eps, la cui
sintassi e':
nome_eseguibile file.jpg > file.eps
Vorrei creare un file batch da associare ai file jpg che trasformi
immediatamente in un file eps.
Ho provato in tanti modi, passandogli il nome del file, ma non riesco a
eliminare l'estensione del parametro. C'e' qualcuno che puo' darmi una
mano a creare il batch?
Grazie, Teo70
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 immediatamente in un file eps.
Se ho ben capito il problema, questo dovrebbe fare al caso (passandogli il
nome del jpg):
------------------------------
@echo off
nome_eseguibile %1 > %temp%\%1
ren %temp%\%1 *.eps
move %temp%\*.eps .
------------------------------

 ------------------------------


 ------------------------------


 Il sistema operativo e' Win2000
Con ogni probabilità, mancano delle virgolette da qualche parte. Potresti
riportare il comando esatto che hai creato in Windows per la nuova
operazione di conversione associata ai JPG?

Il file contiene le seguenti istruzioni:
@echo off
c:\temp\imm\jpeg2ps-1.9\jpeg2ps.exe %1  > %temp%\%1
ren %temp%\%1 *.eps
move %temp%\*.eps .
Charlie wrote:




 move %temp%\*.eps .
Già qui si potrebbe invirgolettare un po' di roba (casomai ci fossero spazi
nel percorso della directory dei file temporanei e/o nel nome del file da
convertire).
Comunque, credo che il problema delle virgolette stia nel comando associato
ai JPG per l'operazione di conversione, e a quello mi riferivo. In pratica,
per realizzare questa "associazione" di cui parli, suppongo sarai andato in
Esplora Risorse/Tipi di file e, per i JPG, avrai creato una nuova operazione
(diciamo "Converti") con la sua brava riga di comando. Se è così, qual è
questa riga? E se non è così, come hai realizzato l'associazione?

 questa riga? E se non è così, come hai realizzato l'associazione?


 e poi ho indicato il file batch in questione.
Prova cosě:
- vai in Esplora Risorse/Strumenti/Opzioni cartella/Tipi di file (o qualcosa
di simile - in questo momento non ho sotto mano win 2000)
- nell'elenco dei file registrati, fai doppio clic sul tipo JPG
- clicca su Nuova e poi, nel campo Operazione della finestra "Nuova
operazione" scrivi, ad esempio, "converti" (senza virgolette), mentre nel
campo "Applicazione utilizzata..." scrivi percorso e nome del file batch
(eventualmente tra virgolette, se contiene spazi), poi uno spazio e infine
"%1" (comprese virgolette)
- dai tutti gli OK
- fai clic destro su un qualsiasi JPG, scegli "converti" e vedi se funziona.

Anche in questo caso continua a dare il messaggio di errore. 
Penso che dipenda da Windows 2000. 
Charlie wrote:




 Penso che dipenda da Windows 2000.
Tracciando il batch, ho visto subito la trappola in cui eravamo cascati:
Windows, logicamente, non passa al batch il solo nome del file, ma percorso
e nome! Quindi un'espressione del tipo %temp%\%1 , che avevamo usato come
escamotage, diventa un guazzabuglio senza senso e scorretto nella sintassi.
Soluzione: butta via il vecchio batch e prova il seguente
------------------------
@echo off
nome_eseguibile %1 > %1~
ren %1~ *.eps
------------------------
sperando che quest'altro trucchetto non crei problemi.

 sperando che quest'altro trucchetto non crei problemi.


 batch, da lo stesso errore.
Prova a togliere la prima riga (@echo off). In questo modo, potrai vedere
passo per passo che cosa succede e renderti conto del motivo del problema.
Comunque direi che se funziona l'associazione il problema č risolto al
meglio.

 meglio.


 Entrambi i file si trovano nella stessa cartella.
Tra un po' ti espongo la parcella! :-)
Scherzi a parte, cerca almeno di evitarmi fatiche inutili essendo un po' più
preciso. Innanzitutto, qual è il contenuto definitivo del batch che stai
usando? E "entrambi i file" che "si trovano nella stessa cartella" chi sono?
Il batch e il jpg, il batch e l'eseguibile, ... ?
Così, d'impulso, mi verrebbe da dirti di provare a impostare come "directory
di lavoro", nelle proprietà del batch, la directory in cui si trova
l'eseguibile.

 l'eseguibile.


 Grazie infinite per l'aiuto.
Prego e fai sapere.

 Prego e fai sapere.


 questa operazione non credo che sia facile per tutti gli studenti.
Beh, basta creare un file di *puro testo* (usando il Blocco Note, ad
esempio) sul modello di questo compreso tra linee tratteggiate:
--------------------------------------------------------
REGEDIT4
[HKEY_CLASSES_ROOT\jpegfile\shell\Converti]
"EditFlags"=hex:01,00,00,00
@="Co&nverti"
[HKEY_CLASSES_ROOT\jpegfile\shell\Converti\command]
@="\"C:\\directory_di_jpeg2ps.exe\\jpeg2ps.exe\" \"%1\""
--------------------------------------------------------
poi salvarlo, ad esempio, col nome JPG2ESP.REG (l'importante è che
l'estensione sia REG), farci clic destro sopra e dare "Unisci". Così
facendo, l'associazione è bell'e creata.
ATTENZIONE! Nel file REG riportato sopra, devi sostituire la stringa
directory_di_jpeg2ps.exe con la vera directory in cui si trova jpeg2ps.exe,
avendo anche l'accortezza, se la directory è composta di più parti, di
separare ciascuna non con una sola barra rovesciata, ma con due. Nel caso,
poi, jpeg2ps.exe non si trovasse nell'unità C, bisogna anche sostituire la C
che compare nell'ultima riga ( @="\"C ...) con l'unità appropriata.

Scusa ma ieri, nella fretta, ti ho scritto una scemenza. Il file REG,
naturalmente, deve fare riferimento al batch, non a jpeg2ps.exe! Quindi,
supponendo che il batch si chiami PIPPO.BAT, il file REG che crea la voce
"Converti" nel menů locale dei JPG diventa:
--------------------------------------------------------
REGEDIT4
[HKEY_CLASSES_ROOT\jpegfile\shell\Converti]
"EditFlags"=hex:01,00,00,00
@="Co&nverti"
[HKEY_CLASSES_ROOT\jpegfile\shell\Converti\command]
@="\"C:\\directory_di_PIPPO.BAT\\PIPPO.BAT\" \"%1\""
--------------------------------------------------------
Per il resto, continuano a valere le istruzioni e le avvertenze riportate in
fondo al messaggio di ieri.