One of the clues is the exitcode=1, there is an error coming back. I think there are two issues which I didn't realize until now 1. DOS command "dir" is a cmd.exe built-in, not its own executable 2. Raku (perl6) "run" takes a list of arguments, not a space-separated command-line
Let's try these (I still don't have my windows machine with me) perl6 -e "my $proc=run qw[cmd /c dir]; say 'Exit code=', $proc.exitcode;" qw[cmd /c dir] is the same as 'cmd', '/c', 'dir' perl6 -e "my $proc=run qw[cmd /c dir c:/NtUtil]; say 'Exit code=', $proc.exitcode;" perl6 -e "chdir 'c:/NtUtil'; my $proc=run qw[cmd /c dir]; say 'Exit code=', $proc.exitcode;" If you want to interpolate variables and still have a space-separated list, use qqw instead of qw. Unix-y example: perl6 -e 'my $dir="/tmp", my $proc=run qqw[ls $dir]; say $proc.exitcode' ... and now I remember Raku has a "shell" routine that's like "run" but it also creates a shell. perl6 -e "my $proc=shell 'dir'; say 'Exit code=', $proc.exitcode;" perl6 -e "chdir 'c:/NtUtil'; my $proc=shell 'dir'; say 'Exit code=', $proc.exitcode;" perl6 -e "my $proc=shell 'dir c:/NtUtil' ; say 'Exit code=', $proc.exitcode;" -y On Wed, Nov 27, 2019 at 11:19 PM ToddAndMargo via perl6-users < perl6-us...@perl.org> wrote: > > > > > On Mon, Nov 25, 2019 at 9:02 PM ToddAndMargo via perl6-users > > <perl6-us...@perl.org <mailto:perl6-us...@perl.org>> wrote: > > > > >> On Mon, Nov 25, 2019 at 6:46 AM ToddAndMargo via perl6-users > > >> <perl6-us...@perl.org <mailto:perl6-us...@perl.org> > > <mailto:perl6-us...@perl.org <mailto:perl6-us...@perl.org>>> wrote: > > >> > > >> Hi All, > > >> > > >> In Perl6 for Windows, how can I get "qx" (or other) to > > >> send the output to the shell as its happens (not > > >> afterwards)? > > >> > > >> >ver > > >> Microsoft Windows [Version 6.1.7601] > > >> > > >> >perl6 -e "qx ( ver );" > > >> <nothing> > > >> > > >> > > >> (One of) my goal(s) is to watch "chkdsk" on the shell > > >> as it runs through its various stages. > > >> > > >> I might want the error code back. > > >> > > >> Many thanks, > > >> -T > > > > > > > > On 2019-11-25 07:25, yary wrote: > > > So, you want to see the output as it happens, and the program > > doesn't > > > need the output, it only needs the error code? > > > > > > my $proc = run 'ls'; > > > say $proc.exitcode ?? 'error' !! 'good' ; > > > > > > I got that from the examples on > > https://docs.perl6.org/type/Proc#sub_run > > > - even if documentation usually leaves you cold, that page has > > samples > > > which look simple and useful. > > > > > > -y > > > > Hi Yary, > > > > Thank you! > > > > I can't figure out > > > > 1) where it is getting its path from > > > > 2) why it looks so weird > > > > -T > > > > C:\NtUtil>perl6 -e "my $proc=run( dir ); say $proc.exitcode;" > > > > C:\NtUtil>echo. > > 1>>C:\ProgramData\IperiusBackup\Logs\Job001\LogFile.txt > > > > C:\NtUtil>echo 12345 > > 1>>C:\ProgramData\IperiusBackup\Logs\Job001\LogFile.txt > > 0 > > > > > > C:\NtUtil>perl6 -e "my $proc=run( dir 'c:\NtUtil' ); say > > $proc.exitcode;" > > > > C:\NtUtil>echo. > > 1>>C:\ProgramData\IperiusBackup\Logs\Job001\LogFile.txt > > > > C:\NtUtil>echo 12345 > > 1>>C:\ProgramData\IperiusBackup\Logs\Job001\LogFile.txt > > 0 > > > > On 2019-11-26 15:33, yary wrote: > > quote the argument to run - try the below - and yes, I switched to > > forward slash. My experience is that Windows accepts either slash, and > > forward slashes create fewer confusing situations. > > > > perl6 -e "my $proc=run 'dir'; say 'Exit code=', $proc.exitcode;" > > perl6 -e "chdir 'c:/NtUtil'; my $proc=run 'dir'; say 'Exit code=', > > $proc.exitcode;" > > perl6 -e "my $proc=run 'dir c:/NtUtil' ; say 'Exit code=', > $proc.exitcode;" > > > > -y > > > > Hi Yary, > > I am not seeing the std out from the command. I do not > want to capture it with perl. What am I missing? > > > > C:\NtUtil>perl6 -e "my $proc=run 'dir'; say 'Exit code=', $proc.exitcode;" > Exit code=1 > > C:\NtUtil>perl6 -e "my $proc=run 'dir c:/NtUtil' ; say 'Exit code=', > $proc.exitc > ode;" > Exit code=1 > > C:\NtUtil>perl6 -e "chdir 'c:/NtUtil'; my $proc=run 'dir'; say 'Exit > code=', $pr > oc.exitcode;" > Exit code=1 > > C:\NtUtil>perl6 -e "qx ( cmd.exe /C dir );" > <nothing> > > Thank you for the help with this, > -T >