Visualizzazione dei risultati da 1 a 10 su 16

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2016
    Messaggi
    12
    Questo è il codice del mio .bat

    ftype fabfile=C:\Users\Fabio\Desktop\ProvaEstensione.exe %0
    assoc .fab=fabfile

    Questi due comandi, usati singolarmente nel prompt, associano l'estensione .fab al mio programma che però ho convertito in exe.
    Se avvio il file bat, tramite il codice %0 viene passato "C:\Users\Fabio\Desktop\File bat.bat".
    Se cambio il codice in %1, lui non passa niente.
    Probabilmente è sbagliato l'ultimo codice che non so come impostare.

    Il mio obiettivo è quello di automatizzare questa procedura di associazione del tipo .fab in modo da renderla possibile anche in altri PC senza istruzioni lente e noiose.

    Inoltre, posso applicare una procedura simile ai file .jar senza doverli convertire in .exe?

    PS:
    Questo è il mio codice di programma in java:

    codice:
    public class ProvaEstensione extends JFrame{
            
        private static final long serialVersionUID = -2325740079368374717L;
        private JLabel label;
        
        public ProvaEstensione(String etichetta){
            this.setSize(300,100);
            this.setVisible(true);
            this.setLocationRelativeTo(null);
            this.setResizable(false);
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            label = new JLabel(etichetta);
            this.add(label);
        }
        
        
        public static void main(String[] args) {
            @SuppressWarnings("unused")
            ProvaEstensione prova; 
            System.out.println(Arrays.toString(args));
            if( args.length == 0 ) 
                prova = new ProvaEstensione("Nessun Argomento");
            else{
                String s0 = "";
                for( String s:args)
                    s0 += s;        
                prova = new ProvaEstensione(s0);
            }            
        } 
    }
    Ultima modifica di LeleFT; 04-04-2017 a 10:09 Motivo: Aggiunti i tag CODE

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da fabioz96 Visualizza il messaggio
    Se avvio il file bat, tramite il codice %0 viene passato "C:\Users\Fabio\Desktop\File bat.bat".
    Se cambio il codice in %1, lui non passa niente.
    Nemmeno %1 va bene. Il punto è che %1 è il primo argomento passato al bat. L'argomento al tuo eseguibile NON lo devi passare al bat. Il comando memorizzato nel registry deve avere in sé il %1 in modo che il sistema, in un secondo momento quando si vuole aprire xyz.fab, passerà il path+nome completo del file aperto al posto di quel %1.

    Quindi va messo %%1 (sì, hai letto bene, due %). In questo modo non viene interpretato come "espandi %1" ma come "inserisci percentuale uno" nella stringa del comando.

    Quote Originariamente inviata da fabioz96 Visualizza il messaggio
    Il mio obiettivo è quello di automatizzare questa procedura di associazione del tipo .fab in modo da renderla possibile anche in altri PC senza istruzioni lente e noiose.
    In realtà non è "facile" renderlo molto pulito e portabile, in particolare per il path assoluto che hai messo adesso al tuo eseguibile.
    Meglio sarebbe predisporre un classico "installer" ma questo richiede ulteriori conoscenze.

    Quote Originariamente inviata da fabioz96 Visualizza il messaggio
    Inoltre, posso applicare una procedura simile ai file .jar senza doverli convertire in .exe?
    Ovviamente, l'ho detto prima, si avvia java.exe (o javaw.exe su Windows, senza console). Passando ciò che serve. Tutto qui.
    Ultima modifica di andbin; 03-04-2017 a 23:51
    Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2016
    Messaggi
    12
    Perfetto ora funziona con l'exe.

    Per quanto riguarda il jar, vorrei una cosa tipo:
    ftype fabfile=C:\Users\Fabio\Desktop\ProvaEstensione.jar %%1
    assoc .fab=fabfile
    pause

    solo che cosi facendo il SO mi dice che non posso aprire il file.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da fabioz96 Visualizza il messaggio
    Per quanto riguarda il jar, vorrei una cosa tipo:
    ftype fabfile=C:\Users\Fabio\Desktop\ProvaEstensione.jar %%1
    assoc .fab=fabfile
    No, non così. Il comando l'avevo già detto prima ma più in generale:

    percorso\java.exe -jar percorso\tuaapp.jar arg1 arg2 ........
    Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2016
    Messaggi
    12
    In questo modo non associo il tipo di file al jar, apro il jar e basta...

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da fabioz96 Visualizza il messaggio
    In questo modo non associo il tipo di file al jar, apro il jar e basta...
    Devi appunto avviare il jar ma, attenzione, facendo in modo che il sistema possa passare come primo argomento (in quel arg1) il path/nome completo del file .fab che l'utente vuole aprire.

    Questo vuol dire che nella associazione NEL REGISTRY ci dovrà essere %1 come primo argomento.
    E siccome il comando ftype per impostare la associazione lo fai da un batch, allora NEL BATCH ci dovrai mettere %%1 come primo argomento (perché solo %1 sarebbe l'argomento passato al batch, che non c'entra niente).

    Cosa c'è di complicato o di poco comprensibile?? Le indicazioni ti sono state date TUTTE.


    Ah e solo un "piccolo" dettaglio: per evitare problemi con i percorsi con spazi in mezzo, nella associazione è meglio quotare il %1 con doppi apici, quindi "%1" e pertanto nel batch andrà messo "%%1"
    Ultima modifica di andbin; 09-04-2017 a 21:06
    Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

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 © 2026 vBulletin Solutions, Inc. All rights reserved.