btw, I'm beginning to think that PowerShell should be able to make decisions
about "document execution" that are distinct from the Windows shell
decisions. Has a PS-based ftype/assoc "overlay" ability been discussed yet?
I think we can make a good case for this.
"Bruce Payette [MSFT]" <brucepay@microsoft.com> wrote in message
news:erKkIonEHHA.1220@TK2MSFTNGP04.phx.gbl...
> Yes -we check $ENV:PATHEXT before directly executing a file. If the
> extension is not there, then ShellExecute will be used instead which is
> why you're seeing the pop-ups.
>
> -bruce
>
> --
> Bruce Payette [MSFT]
> Windows PowerShell Technical Lead
> Microsoft Corporation
> This posting is provided "AS IS" with no warranties, and confers no
> rights.
>
>
>
> "Thomas Mogwitz" <ThomasMogwitz@discussions.microsoft.com> wrote in
> message news:4F8CBEFD-B7D4-40A2-BB79-E05D11FE583D@microsoft.com...
>> Yes, that's the solution. .pl wasn't in my pathext variable, and by
>> adding it
>> I achieved the behaviour I wanted.
>> Thank you very much for your help!
>>
>> "Alex K. Angelopoulos [MVP]" wrote:
>>
>>> Check the value of this variable from within PowerShell:
>>> $env
athext
>>> 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.,
>>> $env
athext = "${env
athext};.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"?
>>>
>>>
>>>
>
>