digitalmars.D.learn - CMD && comand not work
- Marcone (5/5) Dec 10 2020 In this very generic example && not work to finalize the instruct
- Paul Backus (3/8) Dec 10 2020 `&&` is a feature of the shell, so you need to use `executeShell`.
- Jack (7/12) Dec 10 2020 You can use executeShell() as mentioned already or do something
- Kagamin (5/10) Dec 11 2020 Try other variants:
In this very generic example && not work to finalize the instruct and start a new instruct. Yes, I know dmd can build and run without it, but this is only a example. execute(["cmd", "/c", "dmd test.d", "&&", "start test.exe"]); How can I substitute && ?
Dec 10 2020
On Thursday, 10 December 2020 at 21:01:30 UTC, Marcone wrote:In this very generic example && not work to finalize the instruct and start a new instruct. Yes, I know dmd can build and run without it, but this is only a example. execute(["cmd", "/c", "dmd test.d", "&&", "start test.exe"]); How can I substitute && ?`&&` is a feature of the shell, so you need to use `executeShell`. Doc: http://phobos.dpldocs.info/std.process.executeShell.html
Dec 10 2020
On Thursday, 10 December 2020 at 21:01:30 UTC, Marcone wrote:In this very generic example && not work to finalize the instruct and start a new instruct. Yes, I know dmd can build and run without it, but this is only a example. execute(["cmd", "/c", "dmd test.d", "&&", "start test.exe"]); How can I substitute && ?You can use executeShell() as mentioned already or do something like this: auto p = execute(["dmd", "test.d"]); if(p.status == 0) { execute(["test.exe"]); }
Dec 10 2020
On Thursday, 10 December 2020 at 21:01:30 UTC, Marcone wrote:In this very generic example && not work to finalize the instruct and start a new instruct. Yes, I know dmd can build and run without it, but this is only a example. execute(["cmd", "/c", "dmd test.d", "&&", "start test.exe"]); How can I substitute && ?Try other variants: execute(["cmd", "/c", "dmd test.d && start test.exe"]); execute(["cmd", "/c", "dmd", "test.d", "&&", "start", "test.exe"]);
Dec 11 2020