#c# #batch-file #cmd #sftp #winscp
Вопрос:
У меня есть пакетный файл, который запускает команду sftp и отлично работает, если я дважды щелкну его из
папки, но когда я выполняю пакетный файл из своего кода на C#, я получаю сообщение об ошибке
«Пользователь прерван при запросе парольной фразы».
Вот мой код на C#, который выполняет пакетный файл:
Process proc = new Process(); proc.StartInfo.FileName = BatchFile ".bat"; proc.StartInfo.CreateNoWindow = true; proc.StartInfo.WorkingDirectory = _tpDir; proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; try { proc.Start(); proc.WaitForExit(); proc.Close(); }
Вот мой код пакетного файла в пакетном файле RcvEdi.bat, который вызывает RcvEdi.txt:
WinSCP.exe /log="WinRecv.log" /ini=nul /script="RcvEdi.txt"
Это код в RcvEdi.txt:
open sftp://USERID@somesite.com/ -hostkey="ssh-rsa 2048 uAHzHhxcIEZu4cX3HbYlsIohejeZVQ1siT0oDihpP3g=" -privatekey="C:folderamichryprivatekey.ppk" cd Outbox mget * exit
Теперь это работает, если я просто дважды щелкну файл RcvEdi.bat или
если я войду в систему с WinSCP.exe.
Вот ошибка в моем отчете журнала ошибок:
Offered public key . 2021-11-10 12:11:04.810 Offer of public key accepted ! 2021-11-10 12:11:04.810 Authenticating with public key "rsa-key-20211005" lt; 2021-11-10 12:11:04.810 Script: Authenticating with public key "rsa-key-20211005". . 2021-11-10 12:11:04.810 Prompt (passphrase, "SSH key passphrase", lt;no instructionsgt;, "Passphrase for key "rsa-key-20211005": ") . 2021-11-10 12:11:04.811 User aborted at passphrase prompt . 2021-11-10 12:11:04.811 Attempt to close connection due to fatal exception: * 2021-11-10 12:11:04.811 **Connection has been unexpectedly closed.** Server sent command exit status 0. . 2021-11-10 12:11:04.811 Closing connection.
Любая помощь будет признательна!!!
Комментарии:
1. Вы запускаете свое приложение в той же среде, в которой вы запускаете пакетный файл вручную? Опубликуйте полные журналы WinSCP Опубликуйте журнал WinSCP также при ручном запуске.
2. @MartinPrikryl Да та же обстановка.
3. @MartinPrikryl да, также регистрируется.
4. Вы не публиковали никаких журналов.
5. @MartinPrikryl Я опубликовал ошибку выше, которая отображается в отчете журнала. Ты это имеешь в виду?