我最初只是在使用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
/
你用而不是写你的路径\
。如果您将它们更改为\
它应该可以工作。我不能确切地告诉你为什么这是它与 /f 一起工作而不是没有,但我从经验中知道,路径写成/
而不是\
它的处理方式不同。我假设当包含一个参数时, cmd 能够计算出它
/
是路径的一部分,而不是参数,因此可以正确处理命令。