Re: Raku opens a notepad when executing a .bat

[email protected] (ToddAndMargo via perl6-users)
Newsgroups perl.perl6.users
Message-ID <[email protected]>
On 12/6/22 03:13, ToddAndMargo via perl6-users wrote:
> On 12/6/22 02:40, Ralph Mellor wrote:
>> Please confirm that:
>>
>> * Entering `ls` at the command line prompt does what it says
>>    on the tin, it does not open notepad.
>>
>> * A Raku program that consists of the single line `qqx 'ls'` does
>>    what it says on the tin, and does not open notepad.
>>
>> If those are true, then this code:
>>
>> ```
>> use lib '.'; use NativeWinUtils :RunCmd; say RunCmd(Q[ls]);
>> ```
>> is NOT running the code you showed starting `sub RunCmd`.
>>
>> -- 
>> raiph
>>
>> On Tue, Dec 6, 2022 at 9:44 AM ToddAndMargo via perl6-users
>> <[email protected]> wrote:
>>>
>>> Hi All,
>>>
>>> Windows Pro Chromebook Edition 22H2  (W11)
>>> raku -v  Welcome to RakudoΓäó v2022.07.
>>>
>>> When ever I run the following, it opens
>>> a Notepad with the text of the calling
>>> raku program.
>>>
>>> raku -e "use lib '.'; use NativeWinUtils :RunCmd; say RunCmd(Q[ls]);"
>>>
>>> This is RunCmd
>>>
>>> sub RunCmd( Str $CommandStr, Bool $EchoOff = False ) returns Str is
>>> export( :RunCmd )  {
>>>      my $PathIAm          = $?FILE;
>>>      my Str $BatFile = $PathIAm ~ ".bat";
>>>      # print "$BatFile\n";
>>>      my Str $RtnStr;
>>>      my Str $CmdStr = "";
>>>
>>>      if $EchoOff  { $CmdStr = Q[@echo off] ~ "\n"; }
>>>      $CmdStr = $CmdStr ~ $CommandStr ~ "\n";
>>>      # print "$CmdStr";
>>>
>>>      spurt( $BatFile, $CmdStr );
>>>      $RtnStr = qqx { $BatFile };
>>>      # print "$RtnStr\n";
>>> }
>>>
>>>
>>> It is the qqx command (it runs the created .bat file)
>>> that opens the notepad.
>>>
>>> The .bat file, which I leave on the disk,
>>> runs fine manually.
>>>
>>> And I did this to myself.  I had a pop up that
>>> asked me what to do with something and I must
>>> have clicked on it by accident.
>>>
>>> -T
> 
>  >raku -e "use lib '.'; use NativeWinUtils :RunCmd; say RunCmd(Q[ls]);"
> 
>  >raku -e "use lib '.'; use NativeWinUtils :RunCmd; say RunCmd(Q[echo 
> 12345]);"
> 
>  >raku -e "use lib '.'; use NativeWinUtils :RunCmd; say RunCmd(Q[where 
> raku]);"
> 
>  >raku -e "use lib '.'; use NativeWinUtils :RunCmd; say RunCmd(Q[raku 
> -v], True);"
> 
> Anything opens notepad with the source code to
> NativeWinUtils.pm6.
> 
> What in the world did I do???


I think you missed the part about the bat
file working fine.

This is the bat file created by Q[ls]

type "K:\Windows\NtUtil\NativeWinUtils.pm6 (NativeWinUtils).bat"
ls


and when run from teh command line

"K:\Windows\NtUtil\NativeWinUtils.pm6 (NativeWinUtils).bat"

K:\Windows\NtUtil>ls

K:\Windows\NtUtil>echo dir
dir

K:\Windows\NtUtil>dir
  Volume in drive K is Fedora, 4.16.5
  Volume Serial Number is 67EC-FE92

  Directory of K:\Windows\NtUtil

12/06/2022  03:27 AM    <DIR>          .
11/15/2022  09:35 AM    <DIR>          ..
08/25/2016  12:38 PM    <DIR>          Aervoe
08/25/2016  12:38 PM    <DIR>          AIT
12/14/2018  11:18 AM    <DIR>          Alpen.Sierra.Roasting
08/19/2017  06:11 PM    <DIR>          Alpine.Fastener.Hardware
12/31/2006  02:27 PM             2,863 Backup-ExtHD.bat
03/11/2007  07:02 PM             3,311 Backup-ExtHD2.bat

This is obviously not a raku issue, but a Windows issue.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.