gpt4 book ai didi

batch-file - PuTTY/PSFTP 文件传输自动化的批处理文件

转载 作者:行者123 更新时间:2023-12-03 08:20:19 26 4
gpt4 key购买 nike

我有一个批处理文件,用于通过 SFTP 将文件从本地 PC 移动到服务器。我的系统中安装了 PuTTY,批处理文件代码如下。

cd C:\Program Files (x86)\PuTTY
psftp
open <IP>
<user>
<PW>
cd /home/irisuser/iris/integration/dls_dlsblr_dlschnn_in_msg/in
lcd d:\
put log.sh
bye

当我在命令提示符中键入它时,上面的代码完美地工作。但是当我双击 .bat 时文件并运行它,它没有运行并要求输入用户名和密码。我的目标是自动化整个过程,我只需单击 .bat 即可运行它。文件。但我无法实现它。任何想法或片段都会帮助我。

最佳答案

您需要将 psftp 脚本(从 openbye 的行)存储到一个单独的文件中并将其传递给 psftp使用 -b转变:

cd "C:\Program Files (x86)\PuTTY"
psftp -b "C:\path\to\script\script.txt"
引用:
https://the.earth.li/~sgtatham/putty/latest/htmldoc/Chapter6.html#psftp-option-b

编辑:对于用户名+密码:因为您不能使用 psftp批处理文件中的命令,出于同样的原因,您不能将用户名和密码指定为 psftp命令。这些是 open 的输入命令。虽然您可以使用 open 指定用户名命令( open <user>@<IP> ),您不能以这种方式指定密码。这可以在 psftp 上完成仅限命令行。那么在命令行上完成所有操作可能会更干净:
cd "C:\Program Files (x86)\PuTTY"
psftp -b script.txt <user>@<IP> -pw <PW>
并删除 open , <user><PW>来自您的 script.txt 的线路.
引用:
https://the.earth.li/~sgtatham/putty/latest/htmldoc/Chapter6.html#psftp-starting
https://the.earth.li/~sgtatham/putty/latest/htmldoc/Chapter3.html#using-cmdline-pw

你在做 atm 是你运行 psftp没有任何参数或命令。一旦你退出它(比如输入 bye ),你的批处理文件会继续尝试运行 open命令(和其他人),Windows shell 显然不明白什么。

如果您真的想将所有内容保存在一个文件(批处理文件)中,您可以将命令写入 psftp 标准输入,例如:
(
echo cd ...
echo lcd ...
echo put log.sh
) | psftp -b script.txt <user>@<IP> -pw <PW>

关于batch-file - PuTTY/PSFTP 文件传输自动化的批处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16439039/

26 4 0
文章推荐: debugging - Android Studio 是否支持 JNI 调试?
文章推荐: .net - .tt 文件的语法高亮显示?
文章推荐: angularjs - createSpy 如何在 Angular + Jasmine 中工作?
文章推荐: validation - 带有提示选项的