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

Reply via email to