Я пытался передать файлы с помощью tftp в С#. Я реализовал это с помощью класса Process. Я включил функцию клиента TFTP в Windows.
Это команда -
C:\Users\Desktop>tftp -i 192.168.43.171 put
"C:\Users\cc\callisto\SampleTool\src\SampleTool\bin\Debug\DecryptedFiles\dserc.bin"
Transfer successful: 32 bytes in 1 second(s), 32 bytes/s
И передача выполняется успешно, когда я выполняю ее вручную, но когда я пытаюсь выполнить ее через код, он говорит, что она не распознана -
'tftp' is not recognized as an internal or external command,
operable program or batch file.
Вот мой код
public static void ExecuteCommand(string fileName, string command)
{
try
{
Process process = new Process();
process.StartInfo.FileName = fileName;//cmd.exe
process.StartInfo.CreateNoWindow = true;
process.StartInfo.RedirectStandardInput = true;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.UseShellExecute = false;
process.Start();
process.StandardInput.WriteLine(command);//tftp command
process.StandardInput.Flush();
process.StandardInput.Close();
process.WaitForExit();
}
catch (Exception ex)
{ }
}
С какой именно проблемой я столкнулся. Может ли кто-нибудь помочь
Спасибо.
process.StartInfo.FileName = "tftp.exe"
? - person Klaus Gütter   schedule 02.11.2020cmd.exe
.cmd.exe
использует функцию библиотеки Windows CreateProcess для запуска любого исполняемого файла, который является точно такой же функцией, которая используется процессом класс. Я думаю, чтоtftp.exe
доступен только как 64-битный исполняемый файл в%SystemRoot%\System32
, а ваше приложение является 32-битным приложением. - person Mofi   schedule 02.11.2020