windows - BAT 脚本发送命令给它启动的程序

标签 windows batch-file

所以我正在尝试做这样的事情:

ftp my.ip.add.ress
(user id)
(password)
cd /the/directory
send C:/code/project1/*
bye

我知道您可以在第一次启动时通过命令行发送 Windows ftp 命令,例如 -send,但问题是我可以使用 .bat 脚本来与它启动的程序互动?默认情况下发生的是第一行:

ftp my.ip

启动 ftp,但后续行永远不会运行,直到 ftp 退出。

编辑

表达这个问题的另一种方式是“当 stdin 下一次检查输入时,是否可以使用 .bat 文件对文本行进行排队以提供给 stdin ?”

最佳答案

据我所知,命令 shell 不是多线程的,因此当另一个交互式 shell 程序正在其中执行时,批处理无法继续执行。

您需要将 FTP 命令移动到它们自己的文件中,并将其传递给 FTP 程序,以便它可以将它们作为自己的内部脚本运行。

ftp -s:filename

指定包含FTP命令的文本文件;命令将在 FTP 启动后自动运行。

关于windows - BAT 脚本发送命令给它启动的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4441943/

相关文章:

c++ - 使用默认网络摄像头的 API?

c# - 监控 Windows 共享

c++ - 从 C++ 控制 Firefox

batch-file - 批处理文件如果存在失败文件检查

windows - 如何从批处理脚本中测试用户的有效权限?

python - 并行运行 Python 脚本并等待所有脚本完成,然后再执行更多并行脚本

windows - 打开程序的批处理文件等待 5 秒然后关闭该程序

windows - 搁置线程是最优的吗?

windows - 如何制作只显示文本文件最后一行的批处理脚本?

batch-file - 在 Windows 10 上强制出现 "real"BSoD,或损坏其操作系统