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 On Mon, Nov 25, 2019 at 9:02 PM ToddAndMargo via perl6-users < perl6-users@perl.org> wrote: > >> On Mon, Nov 25, 2019 at 6:46 AM ToddAndMargo via perl6-users > >> <perl6-users@perl.org <mailto:perl6-users@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 >