Hoi, hoe kan ik vanuit Perl doscommando's aanroepen. Bv: uit een document haal ik een variabele (IP-adres) en deze variabele wil ik gebruiken in een net use commando.
Simpel, door eerst ff te googlen.
Anyway:
Anyway:
code:
1
2
3
4
5
6
| # External command aanroepen dmv 'backtics'
# Let op de manier van zwevende commatjes ;)
$run = `net.exe`
# External command aanroepen dmv system call
system ("net.exe") |
Ik heb echt wel gezocht op Google, maar verder dan system kwam ik niet en dat werkte niet. Heb niet met de \ gewerkt, dus dat ga ik nog even proberen. Ik probeer het volgende:
$run = `net use t: \\ipadres\c$ pswrd /u:usrname`;
maar dit geeft een foutmelding in windows (terwijl ditzelfde ingetikt in dos wel gewoon werkt). Moet ik nog wat tekens toevoegen zodat perl het wel snapt?
$run = `net use t: \\ipadres\c$ pswrd /u:usrname`;
maar dit geeft een foutmelding in windows (terwijl ditzelfde ingetikt in dos wel gewoon werkt). Moet ik nog wat tekens toevoegen zodat perl het wel snapt?
Ik zou beginnen met een simpel iets.
Doe eerst maar eens een poging om NET.EXE te runnen.
Als dat lukt , kun je kijken of je paramaters mee kunt geven.
Die \ bij system komt door React, die hoort er niet
Verder kun je ook
$sys = system ("net.exe");
proberen.
Ik heb het niet onder W2K geprobeerd maar het grootste verschil tussen backticks en een system call onder mijn OS (NetWare) is het volgende:
Met backtiks run je een programma ($run = `help` werkt dus niet, want dit is geen .NLM onder netware). Derhalve werken paramters dus ook niet bij mij.
Met de system () call kun je zo'n beetje alles naar je console gooien.
Doe eerst maar eens een poging om NET.EXE te runnen.
Als dat lukt , kun je kijken of je paramaters mee kunt geven.
Die \ bij system komt door React, die hoort er niet
Verder kun je ook
$sys = system ("net.exe");
proberen.
Ik heb het niet onder W2K geprobeerd maar het grootste verschil tussen backticks en een system call onder mijn OS (NetWare) is het volgende:
Met backtiks run je een programma ($run = `help` werkt dus niet, want dit is geen .NLM onder netware). Derhalve werken paramters dus ook niet bij mij.
Met de system () call kun je zo'n beetje alles naar je console gooien.
ah bah, simpel beginnen... 
maareh.. net.exe lukt wel, dat is geen probleem. Hij kan alleen de netwerknaam niet vinden. Foutcode 67. Ook via system() krijg ik dezelfde foutcode.
maareh.. net.exe lukt wel, dat is geen probleem. Hij kan alleen de netwerknaam niet vinden. Foutcode 67. Ook via system() krijg ik dezelfde foutcode.
Je zou er een batch filetje voor kunnen schrijven oid.
Anyway, dit lijkt me niet iets met Perl te maken te hebben.
En again, begin simpel en rustig.
dus niet eerst simpel NET.EXE en dan .. hmmz het werkt, nu meteen de volledige suntax ertegen aan gooien.
Probeer het daarnaa eens met een "net use" ofzo.
Nogmaals, gezien het feit dat een extern proggel aanroepen werkt heeft het IMHO weinig meer met Perl c.q. PW te maken..
Anyway, dit lijkt me niet iets met Perl te maken te hebben.
En again, begin simpel en rustig.
dus niet eerst simpel NET.EXE en dan .. hmmz het werkt, nu meteen de volledige suntax ertegen aan gooien.
Probeer het daarnaa eens met een "net use" ofzo.
Nogmaals, gezien het feit dat een extern proggel aanroepen werkt heeft het IMHO weinig meer met Perl c.q. PW te maken..
Verwijderd
Zou dit niet werken?$run = `net use t: \\ipadres\c$ pswrd /u:usrname`;
$run = `net use t: \\\\ipadres\\c$ pswrd /u:usrname`;
Pagina: 1