Jim*_*hen 2 windows file-transfer command-line xcopy robocopy
我不知道如何形象地命名这个行为,就叫它吧loyalcopy。
两张图就能清楚地说明这一点。
我想发出两个命令来复制两个文件系统节点(无论它是目录的文件):
loyalcopy c:\libsrc\include d:\temp\dest
loyalcopy c:\libsrc\mm_psfunc.h d:\temp\dest
Run Code Online (Sandbox Code Playgroud)
并看到这样的结果:
实际的Windows命令有哪些可以达到这种效果呢?我尝试了xcopy和robocopy,但它们无法按预期工作。例如,xcopy c:\libsrc\include d:\temp\dest /s将复制内部 include内容,而不是在目标文件夹中创建镜像include目录。
在 Unix 上,我知道我可以替换loyalcopywithcp -r来达到所需的结果。但是 Windows 上有类似的东西吗?最好有 Windows 库存命令,不涉及第三方软件。
只需在 PowerShell 中运行即可cp -r c:\libsrc\include d:\temp\dest。它会按预期工作。它实际上是别名
Copy-Item -Recurse -Path c:\libsrc\include -Destination d:\temp\dest
Run Code Online (Sandbox Code Playgroud)
使用xcopy或robocopy,您需要在目标中指定文件夹名称才能创建它
robocopy /E c:\libsrc\include d:\temp\dest\ include xcopy /E /I /H c:\libsrc\include d:\temp\dest\ include
/I:如果Source是目录或包含通配符且Destination不存在,xcopy则假定Destination指定目录名称并创建新目录。然后,xcopy将所有指定的文件复制到新目录中。默认情况下,xcopy提示您指定目标是文件还是目录。https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/xcopy
要获得有关任何经典 Windows 工具的帮助,只需使用/?,例如xcopy /?,robocopy /?。请注意,xcopy 已被弃用,并且将来可能会被删除