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
<perl6-users@perl.org> 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.

Reply via email to