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.