Possible bug in 13.x with sys.process

I want to startup a process in windows from my scala program, and it has been working in 12.10, but I recently upgraded to 13.1 and now it fails.
Here is an example of what fails in 13.1 but works in 12.10

import sys.process._
val cmd = “”“cmd /V /C “start ^“client^” notepad.exe””""
cmd.run()

The issue seems to be with the quotes around the word “client”. In 13.1 it appears that the quotes are always removed before the process command is started. The Windows’s start command requires the quotes or it thinks that the word “client” is another program to execute. With the quotes, it is the name of the window to start. In 12.10 this works as expected, but in 13.1 I get a message:
The system cannot find the file client.

I can’t find anything that says starting a process is any different in 13.x than in 12.x, and I think this is probably a bug. I also can’t figure out any workaround, so I was hoping someone would have a thought about this that could help me get it to work. Thanks!

There has been indeed some change which fixed a bug regarding the parsing of plain strings for commands: https://github.com/scala/scala/pull/7452

I would always better use the Seq version of the Process builder instead of relying on some splitting of a string to extract the command and its arguments.

Thanks, that does seem to be the issue I’m having too. I’ll try the Seq version.

I found sys.process so unpredictable that instead of directly launching a command, I let my Scala app create a shell script and then run the shell script.