Я использую приведенный ниже код для регистрации вывода вызова cmd в файл, но иногда он не работает.
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
//startInfo.Arguments = "/C dir C:\\ >c:\\temp\\dir.txt";
startInfo.Arguments = "/C \"C:\\Program Files\\Geth\\geth.exe\" --exec \"web3.eth.getBalance(web3.eth.accounts[0]);\" attach >c:\\temp\\out.txt";
process.StartInfo = startInfo;
process.Start();
Простой каталог работает нормально. Использование Ethereum geth.exe без --exec работает нормально. Однако, как только я включу аргумент --exec, вывод будет пустым. Обе команды работают нормально и выдают результат, если они вызываются вручную в cmd.exe.
"C:\Program Files\Geth\geth.exe" прикрепить >c:\temp\out.txt
"C:\Program Files\Geth\geth.exe" --exec "web3.eth.getBalance(web3.eth.accounts[0]);" прикрепить >c:\temp\out.txt