我正在开发一个控制台应用程序,它将所有spss(.sav)文件转换为.csv文件。为此,我手动创建了一个SPSS作业(spssJob1.spj)(使用一个.sps文件),然后遍历所有输入文件(所有.sav文件),并尝试通过更新输入和输出路径来运行该作业。 .sps文件(text.sps)。但是我不知道如何从我的应用程序调用该作业执行命令。
当前,命令是:
df
,这应该从
执行stats C:\Users\10522\Desktop\spssJob1.spj -production
因为此stats命令仅在此目录中可用。
因此在我的应用中,我需要从此路径调用此过程;我可以使用我的应用程序来调用一个C:\Program Files\IBM\SPSS\Statistics\22
文件,但是我不知道如何从特定目录中调用一个命令。
这是我的代码:
.exe
答案 0 :(得分:3)
ProcessStartInfo pi = new ProcessStartInfo("stats");
pi.Arguments = @"C:\Users\10522\Desktop\spssJob1.spj -production";
pi.WorkingDirectory = @"C:\Program Files\IBM\SPSS\Statistics\22";
pi.UseShellExecute = false;
Process.Start(pi);
您可以通过更改ProcessStartInfo的属性来实现。
不确定什么是统计数据,如果它是一个exe,则可以指定完整的exe路径,而只是省略工作目录。
答案 1 :(得分:0)
var p = new Process();
p.StartInfo = new ProcessStartInfo("stats")
{
//UseShellExecute = false,
Arguments= @"C:\Users\10522\Desktop\spssJob1.spj -production",
WorkingDirectory = @"C:\Program Files\IBM\SPSS\Statistics\22",
};
p.Start();
p.WaitForExit();