尝试在 Windows 上使用 cp 命令时获取 cp: target 'target.yml' is not a directory

Posted

技术标签:

【中文标题】尝试在 Windows 上使用 cp 命令时获取 cp: target \'target.yml\' is not a directory【英文标题】:Getting cp: target 'target.yml' is not a directory when trying to use the cp command on windows尝试在 Windows 上使用 cp 命令时获取 cp: target 'target.yml' is not a directory 【发布时间】:2021-11-23 08:51:13 【问题描述】:

我正在设置一个项目,该项目需要我运行一个脚本来设置我的 docker 环境。问题是,我已经成功地在我的 Mac 和其他 Mac 上进行了设置,没有任何问题,但是在其他用户的 Windows 机器上设置时,我一直遇到这个问题,我不知道如何解决它,因为命令看起来很好。

这是运行的命令

[ -f docker/compose-volumes.yml ] || cp docker/compose-volumes.yml.sample docker/compose-volumes.yml; bash ./bin/compose-volumes.sh docker/compose-volumes.yml > docker/compose-volumes.built.yml

这是它产生的错误

cp: target 'docker/compose-volumes.yml' is not a directory

我已经尝试过从 git 中提取项目并运行命令。它在 mac 上立即运行,在 windows 上立即失败。

为什么这个命令在我的 mac 上运行得很好,但在 windows 机器上却失败了?有什么我可以更改的,以便命令正常运行吗?

【问题讨论】:

【参考方案1】:

所以我找到的解决方案是复制后的分号在 Windows 上以某种方式引起问题。对于mac没有效果。为了解决这个问题,我将 ; 换成了 &&,现在它适用于 windows 和 mac

【讨论】:

以上是关于尝试在 Windows 上使用 cp 命令时获取 cp: target 'target.yml' is not a directory的主要内容,如果未能解决你的问题,请参考以下文章

linux cp命令

文件操作:mv 和cp命令用法

linux cp命令一个目录复制到另一个目录

cp命令

每天一个Linux常用命令 cp命令

如何使用 V2 CP 示例自定义 Windows 10 凭据提供程序?