我最初只是使用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 能够确定它/
是路径的一部分而不是参数,从而正确处理该命令。