Сбой параметра команды PuTTY -m с «невозможно открыть ... файл» в Windows 7 - PullRequest
1 голос
/ 13 марта 2019

Я пытаюсь сделать автоматический вход в PuTTY, используя командный файл.У меня есть это:

start "title" "C:\Program Files\PuTTY\putty.exe" "server_name@server_IP" -pw "password" -m "commands_to_execute.txt"

Все работает на моем компьютере с Windows 10, но в Windows 7, опция команды -m не работает.Сообщение об ошибке:

невозможно открыть командный файл: "commands_to_execute.txt"

Я попытался изменить все пути на "C: \ Program Files \ PuTTY", устанавливая рабочий каталог /D, работая в реальном каталоге, и я также добавляю путь к переменным окружения в:

Расширенные настройки системы> Переменные окружения

Я также использовал plink вместо шпатлевки.

Что происходит?

Ответы [ 2 ]

1 голос
/ 13 марта 2019

Маловероятно, что ваша проблема связана с Windows 7 против Windows 10.

Скорее всего, рабочий каталог для выполнения вашего пакетного файла в Windows 7 не установлен в папку, где хранится файл commands_to_execute.txt.

Возможные решения:

  • Установите рабочий каталог так же, как вы установили его в Windows 10

  • Используйте полный путь к файлу скрипта:

    -m "C:\path\to\commands_to_execute.txt"
    
  • Установить рабочий каталог для PuTTY явно, используя:

    start "title" /D "C:\path\to" "C:\Program Files\PuTTY\putty.exe"  ...
    
  • Или, если файл сценария находится в той же папке, что и ваш командный файл, вы можете использовать:

    start "title" /D "%~dp0" "C:\Program Files\PuTTY\putty.exe"  ...
    
0 голосов
/ 13 марта 2019

вам нужно использовать plink.exe для этого не putty.exe, просто замените:

start "title" "C:\Program Files\PuTTY\plink.exe" "server_name@server_IP" -pw "password" -m "commands_to_execute.txt"

или сделать еще проще:

cd C:\Program Files\PuTTY\
plink.exe -ssh pi@192.168.1.166 -P 22 -pw P@SSWRD ~/script.sh
plink.exe -ssh pi@192.168.1.166 -P 22 -pw P@SSWRD -m commands.txt 
pause

любая из двух строк работает.

...