如何使用 DOS 命令将文件复制到可能尚不存在的目录结构中?如果该位置尚不存在,我需要能够强制创建指向目标文件位置的目录路径。
比如这个位置已经有一个file.txt:
C:\file.txt
Run Code Online (Sandbox Code Playgroud)
我想把它复制到
C:\example\new\path\to\copy\of\file\file.txt
Run Code Online (Sandbox Code Playgroud)
但此时
C:\example\
Run Code Online (Sandbox Code Playgroud)
并且所有子目录可能存在也可能不存在。
基本上,我正在寻找“必要时复制并创建目标路径”命令。你会推荐什么是实现这一目标的最佳方法?
b w*_*b w 36
是的,那是xcopy。这是它的样子:
xcopy file.txt c:\example\new\path\to\copy\of\file\file.txt
Run Code Online (Sandbox Code Playgroud)
XCOPY 信息位于
您可能还想查看XP 资源工具包和 Vista、Windows 7 和 Server 2008 标准中的ROBOCOPY。
robocopy . c:\example\new\path\to\copy\of\file file.txt
Run Code Online (Sandbox Code Playgroud)
msb*_*msb 20
我尝试使用类似的东西:
xcopy file.txt c:\example\new\path\to\copy\of\file\file.txt
Run Code Online (Sandbox Code Playgroud)
但它会问我它是文件还是目录。因为我在一个包含 40000 个文件的批处理文件中使用了它,所以这是不切实际的。此解决方案仅部分解决了我的问题:它创建了目录结构,但需要用户交互。我在这里找到了解决我的问题的方法:
这基本上是在目标文件的末尾添加一个“*”:
xcopy file.txt c:\example\new\path\to\copy\of\file\file.txt*
Run Code Online (Sandbox Code Playgroud)
编辑:正如@romkyns 所指出的,如果您的文件具有相同名称和其他内容(例如“file.txt.bak”),则可能会产生不希望的结果。在上面发布的同一线程中,另一个有效的解决方案是将“echo f”传递给您的命令:
echo f | xcopy file.txt c:\example\new\path\to\copy\of\file\file.txt
Run Code Online (Sandbox Code Playgroud)
如果您在另一种语言中使用它,您应该将“f”替换为您的系统用于文件的任何字母。
归档时间: |
|
查看次数: |
118714 次 |
最近记录: |