在 Rascal 中使用 exec 函数时更改工作目录
Changing the working directory when using the exec function in Rascal
我在 Windows10(一些批处理文件)上在 Rascal 中执行一个命令,它本身工作正常:
import util::ShellExec;
exec("somecommand.bat");
这个批处理文件在当前工作目录中执行一些文件读写操作。通过一些调试,我发现默认工作目录 (|cwd:///|
) 是 C:\Program Files\Eclipse
并且此目录需要提升权限才能写入。我正在尝试在执行命令时更改工作目录,如下所示:
exec("somecommand.bat", |tmp:///|);
我尝试了多种目录,但它们都产生了 CallFailed 错误,但没有太多细节。
如何在不同的工作目录中执行命令?
工作目录参数是所谓的“关键字参数”,您可以使用以下语法调用它:
exec(command, workingDir=|file:///myworkingdir|)
我在 Windows10(一些批处理文件)上在 Rascal 中执行一个命令,它本身工作正常:
import util::ShellExec;
exec("somecommand.bat");
这个批处理文件在当前工作目录中执行一些文件读写操作。通过一些调试,我发现默认工作目录 (|cwd:///|
) 是 C:\Program Files\Eclipse
并且此目录需要提升权限才能写入。我正在尝试在执行命令时更改工作目录,如下所示:
exec("somecommand.bat", |tmp:///|);
我尝试了多种目录,但它们都产生了 CallFailed 错误,但没有太多细节。
如何在不同的工作目录中执行命令?
工作目录参数是所谓的“关键字参数”,您可以使用以下语法调用它:
exec(command, workingDir=|file:///myworkingdir|)