仅当我使用 /F 显示完整文件名时,xcopy 才有效

仅当我使用 /F 显示完整文件名时,xcopy 才有效

我最初只是使用copy但我得到了这个输出:

C:\repos\AutomatedBuildTesting (master -> origin)
(2020-09-18  8:49:01.12) λ copy ".hooks/*" ".git/hooks/*"
commit-msg
The system cannot find the file specified.
        0 file(s) copied.

所以我尝试了一下xcopy,尝试了几种方法后最终发现,只有包含F显示完整文件名的标志时,它才会复制。有人能解释一下吗?

C:\repos\AutomatedBuildTesting (master -> origin)
(2020-09-18  8:48:32.95) λ xcopy ".hooks/*" ".git/hooks/*"
0 File(s) copied

C:\repos\AutomatedBuildTesting (master -> origin)
(2020-09-18  8:48:58.07) λ xcopy ".hooks/*" ".git/hooks/*" /F
Overwrite C:\repos\AutomatedBuildTesting\.git\hooks\commit-msg (Yes/No/All)? y
C:\repos\AutomatedBuildTesting\.hooks\commit-msg -> C:\repos\AutomatedBuildTesting\.git\hooks\commit-msg
1 File(s) copied

答案1

/您用而不是 来编写路径\。如果将它们更改为 ,\它应该可以工作。我无法确切地告诉您为什么它与 /f 一起使用时有效,而与 /f 一起使用时无效,但我从经验中知道,将路径写为 而/不是 时,\其处理方式会有所不同。

我假设当包含一个参数时,cmd 能够确定它/是路径的一部分而不是参数,从而正确处理该命令。

相关内容