Выполнение командного файла Windows
Что я делаю в настоящее время
- Выполнить сценарий оболочки на
MachineB
отMachineA
Окружение Windows. - Затем подождите, пока скрипт оболочки завершит свою задачу, в моем случае он запишет вывод в текстовый файл.
- И после того, как сценарий оболочки выполнил все свои задачи, он завершил запись всего в текстовый файл, а затем скопировал этот текстовый файл в
MachineA
(Среда Windows) изMachineB
,
Так что для этого я написал Windows Batch file
это сделает вышеупомянутую задачу, и это работает хорошо для меня. Ниже приведен файл Windows Bat, который я использую в настоящее время.
plink uname@machineB -m email.sh
pscp uname@machineB:/export/home/uname/jk_attachment22.txt C:\PLINK\foo.txt
Но используя вышеупомянутый пакетный файл Windows, мне нужно набрать пароль два раза, что является болью, сначала мне нужно набрать для первой строки, а затем снова для второй строки.
Мой вопрос-
Так есть ли способ я могу запустить вышеупомянутый пакетный файл Windows, просто набрав password
один раз в командной строке. Любые предложения будут оценены.
Это то, что у меня есть, когда я искал /.ssh folder
,
Обновить:
bash-3.00$ cd ~/.ssh
bash-3.00$ pwd
/home/uname/.ssh
bash-3.00$ ls -lt
total 2
-rw-r--r-- 1 uname gid-uname 489 Jul 26 18:55 known_hosts
Так что мне нужно внести некоторые другие изменения здесь?
2 ответа
Я бы пропустил пароль и авторизацию с помощью ключа ssh. http://www.debian-administration.org/articles/152
Используйте параметр -pw в утилитах командной строки.
Допустим, вы называете свой командный файл TWINKIE.BAT. В командной строке вы должны ввести "TWINKIE пароль", где "пароль" - это фактический пароль, который вы хотите использовать.
C:\>twinkie password
"Пароль" передается в ваш командный файл как первая переменная командной строки, %1. Ваш пакетный файл будет:
plink -pw %1 uname@machineB -m email.sh
pscp -pw %1 uname@machineB:/export/home/uname/jk_attachment22.txt C:\PLINK\foo.txt