Ik ben bezig om een x aantal handelingen die via een executable moeten worden gedaan te automatiseren met behulp van een java programma. Ik gebruik hiervoor de java.lang.Runtime en de java.lang.Process classes.
Aan de executable die uitgevoerd gaat worden, moeten enkele argumenten mee worden gegeven. Twee hiervan zijn verwijzingen naar bestanden, waarvan ik vanuit mijn javaprogramma de padnaam dus vast moet gaan leggen:
Het probleem is dat in dit geval mijn executable vreemde foutmeldingen geeft omdat ik harde padnamen mee heb gegeven. Nu heb ik geprobeerd deze fout te voorkomen door in een dosvenster in de directory p:/syst te gaan staan en de volgende commando uit te voeren:
De twee bestanden die ik meegeef als argument heb ik nu dus zonder padnaam opgegeven, met als gevolg dat er geen foutmeldingen worden gegeven bij het uitvoeren ervan. Het probleem is nu hoe ik dit in mijn java programma implementeer, aangezien de user.dir niet op p:/syst staat. Ik kan natuurlijk mijn programma uitvoeren vanuit p:/syst, maar dit is niet helemaal de bedoeling, aangezien er ooit nog een GUI omheen gebouwd gaat worden en omdat ik ook bestanden uit andere directories wil gaan gebruiken.
Is het mogelijk om de Runtime vanuit een andere directory te laten starten, door bijvoorbeeld de user.dir aan te passen (wat me onwaarschijnlijk lijkt) of iets anders?
Aan de executable die uitgevoerd gaat worden, moeten enkele argumenten mee worden gegeven. Twee hiervan zijn verwijzingen naar bestanden, waarvan ik vanuit mijn javaprogramma de padnaam dus vast moet gaan leggen:
code:
1
2
| C:/Win32app/oracle/10gds/bin/ifcmp90.exe module=p:\syst\cursf000.pll output_file=p:\syst\cursf000.txt logon=no module_type=library script=yes |
Het probleem is dat in dit geval mijn executable vreemde foutmeldingen geeft omdat ik harde padnamen mee heb gegeven. Nu heb ik geprobeerd deze fout te voorkomen door in een dosvenster in de directory p:/syst te gaan staan en de volgende commando uit te voeren:
code:
1
2
| C:/Win32app/oracle/10gds/bin/ifcmp90.exe module=cursf000.pll output_file=cursf000.txt logon=no module_type=library script=yes |
De twee bestanden die ik meegeef als argument heb ik nu dus zonder padnaam opgegeven, met als gevolg dat er geen foutmeldingen worden gegeven bij het uitvoeren ervan. Het probleem is nu hoe ik dit in mijn java programma implementeer, aangezien de user.dir niet op p:/syst staat. Ik kan natuurlijk mijn programma uitvoeren vanuit p:/syst, maar dit is niet helemaal de bedoeling, aangezien er ooit nog een GUI omheen gebouwd gaat worden en omdat ik ook bestanden uit andere directories wil gaan gebruiken.
Is het mogelijk om de Runtime vanuit een andere directory te laten starten, door bijvoorbeeld de user.dir aan te passen (wat me onwaarschijnlijk lijkt) of iets anders?