这里的代码:
string command = string.Empty;
DirectoryInfo dInfoForTesting = new DirectoryInfo(@"E:\TestFiles");
FileInfo[] files = dInfoForTesting.GetFiles();
foreach (FileInfo file in files)
{
string rndPswd = "134";
command = "arj a -m1 -g" + rndPswd + " " + file.Name + ".arj " + file.FullName;
Process.Start(@"C:\ARJ_TEST\programming\test\ARJ.EXE", command);
}
我想自动创建受简单密码 134 uisng ARJ归档保护的档案。但是当我为第一个文件运行此代码时,我会看到下面的图像。但是这个文件存在!
请帮助理解我,我做错了什么。
修改:
我决定重写代码以在E:\TestFiles
文件夹中运行cmd,其中包含所有要测试的文件:
ProcessStartInfo startInfo = new ProcessStartInfo
{
WorkingDirectory = @"E:\TestFiles",
FileName = "cmd.exe",
UseShellExecute = false,
RedirectStandardInput = false
};
foreach (FileInfo file in files)
{
string rndPswd = "134";
command = "arj a -m1 -g" + rndPswd + " " + file.Name + ".arj " + file.Name;
startInfo.Arguments = command;
Process.Start(startInfo);
}
例如,如果我直接从cmd运行命令arj a -m1 -g134 10.arj 10
,arj会创建一个存档10.arj
。但是,当我为第一个文件(10
)运行我的代码时,没有任何反应......