#batch-file #windows-7 #putty
#пакетный файл #windows-7 #putty
Вопрос:
Я пытаюсь выполнить автоматический вход в PuTTY с помощью пакетного файла. У меня есть это:
start "title" "C:Program FilesPuTTYputty.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 вместо putty.
Что происходит?
Ответ №1:
Очень маловероятно, что ваша проблема имеет какое-либо отношение к Windows 7 против Windows 10.
Скорее всего, в рабочем каталоге для выполнения вашего пакетного файла в Windows 7 не указана папка, в которой хранится commands_to_execute.txt
файл.
Возможные решения:
-
Установите рабочий каталог так же, как вы установили его в Windows 10
-
Используйте полный путь к файлу скрипта:
-m "C:pathtocommands_to_execute.txt"
-
Явно задайте рабочий каталог для PuTTY, используя:
start "title" /D "C:pathto" "C:Program FilesPuTTYputty.exe" ...
-
Или, если файл сценария находится в той же папке, что и ваш командный файл, вы можете использовать:
start "title" /D "%~dp0" "C:Program FilesPuTTYputty.exe" ...
Ответ №2:
вам необходимо использовать plink.exe для этого не putty.exe просто замените:
start "title" "C:Program FilesPuTTYplink.exe" "server_name@server_IP" -pw "password" -m "commands_to_execute.txt"
или сделайте это еще проще:
cd C:Program FilesPuTTY
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
любая из двух строк работает.
Комментарии:
1. При использовании
CD
команды вам действительно следует использовать ее/D
параметр, если только не известно, что «текущий диск» на момент его использования не изменился .2. Хотя вы, возможно, правы с Plink (хотя мы на самом деле не знаем, что задумал OP), вы вообще не решаете проблему OP. В вашем коде будет та же проблема, что и в OP.
3. Да, проблема все еще существует. Спасибо
4. вы пробовали использовать полное расположение каталога? какие привилегии разрешены для файла .bat?
5. Да, я пытался. Файлы .bat и .txt имеют все разрешенные привилегии