Если я правильно понимаю, проблема в том, что устройство на последовательном порту сбрасывает ввод, который поступает слишком рано.
Это можно решить, сделав паузу между отдельными входами / линиями.Но тогда вы не можете использовать входной файл.Вам необходимо сгенерировать ввод, используя «программу», которая может делать паузы и передавать данные на plink
.Простой способ реализовать такую программу - использовать составной оператор в командном файле:
(
echo root
timeout /t 5 > nul
echo root
timeout /t 5 > nul
echo cd /cfg_usr/delphi/etc
timeout /t 5 > nul
echo rm vip_coding_yes
) | C:\PROGRA~1\PuTTY\plink -load test
Приведенное выше приведёт к завершению строк Windows CRLF.Возможно, вашему устройству нужны окончания строки * nix CR.Вы можете попробовать следующий скрипт PowerShell (script.ps1
):
Write-Host -NoNewline "root`n"
Start-Sleep 5
Write-Host -NoNewline "root`n"
Start-Sleep 5
# ...
и использовать его так:
powershell.exe -ExecutionPolicy Bypass -File script.ps1 | C:\PROGRA~1\PuTTY\plink -load test