View Single Post
Old 11-23-2006   #3 (permalink)
Alex K. Angelopoulos [MVP]


 
 

Re: How to execute (perl) scripts in Powershell without DOS box

Check the value of this variable from within PowerShell:
$envathext
I can replicate the behavior you see if I remove .pl from the executable
extensions there. If it doesn't contain .pl, add it - e.g.,
$envathext = "${envathext};.pl"

"Thomas Mogwitz" <Thomas Mogwitz@discussions.microsoft.com> wrote in message
news:2E198CE6-2D74-440E-AC0B-E8E5E55CF5D5@microsoft.com...
> Hi folks,
>
> I am trying to execute a bunch of perl scripts from within a Powershell
> by simply writing their name (and pressing Return, of course). The
> problem is, everytime I do so a DOS box (cmd.exe) pops up, displays
> the script output and closes itself. I instead want to see the output
> in my Powershell.
> I get the desired result by executing "perl.exe xyz.pl", but why not
> when I simply execute the script?
>
> I searched the registry and found out that the file ending '.pl' is
> associated with a 'PersistentHandler' that is connected to a class id with
> 'query.dll' as 'InProcServer32'. Here I'm stuck. I suppose that this
> query.dll again searches the registry for the registered file type .pl and
> finds out that it is linked to the file type 'Perl', which has a shell
> open
> command 'perl.exe %1'. So what's the difference between finding that
> out and running perl.exe with my script and me executing
> "perl.exe xyz.pl"?



My System SpecsSystem Spec