batch-file - 如何对带有选项的命令进行批量重定向
问题描述
我正在尝试运行一系列需要用户密码的命令,因此我在脚本开头要求输入密码并使用|
(管道重定向)重定向到命令。
在文档中我找到了语法:
set password=secretpassword
echo %password% | command that prompt for password
我尝试使用 scp 命令从服务器复制一个文件,代码如下:
echo %password% | scp myuser@serverip:/home/myuser/myfile ./myfile
但没有用。
但是由于某种原因,此代码有效:
echo %password | %scp myuser@serverip:/home/myuser/myfile ./myfile
我不明白为什么,也许 %% 内部对管道的解释不同。
主要问题是当我将选项传递给命令时,比如让文件夹递归,它不起作用。例子:
echo %password | %scp -r myuser@serverip:/home/myuser/myfolder ./myfolder
我知道还有其他更好的方法,例如使用密钥对身份验证而不是密码,但我想了解它为什么不起作用。
解决方案
推荐阅读
- python - 加载 keras 模型,TypeError:“模块”对象不可调用
- angular - 为列表中的每个项目并行运行 observable,无需等待
- ios - 有没有办法为 IOS 的视频保存 AVDepthData?
- cmake - 如何在 CMake 项目(c++、Clion)中链接 Gurobi 求解器?
- python - 根据给定日期获取下个月最后一天的日期
- python - 在 Python 中用引号和逗号分割一列
- python - python中行首的冒号
- spring-boot - Kotlin Spring Boot CORS“选项/用户没有映射”
- node.js - 使用 @google-cloud 进行工作负载身份联合
- android - 如何复制 WebView 中的所有文本