Hello!
I converted the speedtest Python-based command line programm "speedtest-cli.exe" (https://www.speedtest.net/de/apps/cli) to run with WinBatch and added CSV output (in DOS the syntax is e.g.: " --csv-header > %csvfile%" or "--csv >> %csvfile%".
The command line itself runs very well but with the redirection leads to an error message.
This works: Run( "C:\Python\Scripts\speedtest-cli.exe", "")
But ths not: Run( "C:\Python\Scripts\speedtest-cli.exe", "--csv-header > %csvfile%")
Thank you very much for helping!
Best Regards, Christian Weissenberger
Quote from: weissenb on May 17, 2020, 04:03:30 AM
The command line itself runs very well but with the redirection leads to an error message.
This works: Run( "C:\Python\Scripts\speedtest-cli.exe", "")
But ths not: Run( "C:\Python\Scripts\speedtest-cli.exe", "--csv-header > %csvfile%")
If it were me I'd concatenate the parameters instead of placing both hardcoded and variables together.
Example:
; Instead of:
Run( "C:\Python\Scripts\speedtest-cli.exe", "--csv-header > %csvfile%")
; Do this:
CompleteParams = StrCat ("--csv-header > ", csvfile)
Run ( "C:\Python\Scripts\speedtest-cli.exe", CompleteParams)
It's been my experience that combining hardcoded and variables in the parameters field results in inconsistent (or failed) results.
YMMV ;)
Good advice but there is also a basic misunderstanding of the Windows command line in the OP's script. The redirect operation ">>" syntax is implemented by the Windows command line "cmd.exe". That command line syntax means nothing the exe or WinBatch. The issue is explained here:
https://techsupt.winbatch.com/webcgi/webbatch.exe?techsupt/nftechsupt.web+WinBatch/DOS+Slash~C~and~Redirection~Symbol~Not~Working.txt (https://techsupt.winbatch.com/webcgi/webbatch.exe?techsupt/nftechsupt.web+WinBatch/DOS+Slash~C~and~Redirection~Symbol~Not~Working.txt)
Thanks a lot! This works!
Best Regards, Christian
N.B: If quotes are needed, this syntax works:
script_param_T = StrCat( '/c %python38_script_fdir% >"', csvfile_speedtest_fdir, '"' )
RunWait(Environment("COMSPEC"), script_param_T )