Как передать несколько команд функции Shell в VBA, используя putty? - PullRequest
2 голосов
/ 01 мая 2019

Я пытаюсь подключиться к серверу Linux с помощью команды оболочки VBA. Не могу выполнить несколько команд в нем.

У меня есть код ниже в моем скрипте VBA и командный файл со списком команд

Private Sub main_function()

    cmd = "C:\putty.exe -t -ssh username@servername.com -pw password -P 22 -m c:\cmd.txt"
    retval = Shell(cmd, vbMaximizedFocus)

End Sub

sudo to user
cat > filename.txt
sh shellfile.sh

Я хочу выполнить все перечисленные команды в файле cmd.txt, но не могу выполнить какую-либо команду из файла cmd.txt, код просто входит в Linux и завершает работу.

1 Ответ

1 голос
/ 02 мая 2019

Создайте пакетный файл, который работает без использования VBA, затем используйте код, который вы использовали выше, чтобы просто вызвать пакетный файл. Ваша проблема в настоящее время не связана с VBA.

См. Этот пост о том, как создать пакетный файл для входа на сервер с Putty.

https://superuser.com/questions/1278434/create-a-batch-file-or-shortcut-to-putty-ssh-that-opens-a-session-and-runs-a-c

Например: я только что протестировал, и все заработало

Private Sub main_function()

    cmd = "C:\test.cmd"
    retval = Shell(cmd, vbMaximizedFocus)

End Sub

Убедитесь, что ваш пакет работает, когда вы дважды щелкнете по нему, а затем позвоните через VBA.

...