【问题标题】:Copy Files with exact Structure into another Directory using XCopy使用 XCopy 将具有精确结构的文件复制到另一个目录
【发布时间】:2011-09-05 06:04:56
【问题描述】:

我想将此文件C:\Majid\File\text.txt 复制到D:\Copied (C:\Majid\File\text.txt ---> D:\Copied)

我想使用 Xcopy 将该文件及其完整目录复制到 D:\Copied,然后我应该有这样的东西 ---> D:\Copied\Majid\File\text.txt ,因为你看到驱动器号被删除并且所有其他目录都是在目标目录中创建。

如何通过 XCopy 执行此操作?

【问题讨论】:

  • 您打算从控制台手动执行此命令,还是从您自己制作的程序执行此命令?哪种语言?如果手动执行,这不属于这里!
  • 我不同意 Davide,我认为这是一个合理的问题。

标签: windows file copy xcopy


【解决方案1】:

看到这个:

XCOPY COMMAND

... 句法 xcopy 源 [目的地] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d[:mm-dd-yyyy]] [ /u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [{/a|/m}] [/n] [/o] [/ x] [/exclude:file1[+[file2]][+[file3]] [{/y|/-y}] [/z] ...

您会在该页面中发现有趣的是:

/s :复制目录和子目录,除非它们为空。如果省略 /s,xcopy 在单个目录中工作。

【讨论】:

  • 嗨,Davide,我有一个应用程序可以监视目录中的新文件,之后您可以为这些文件执行应用程序,我想使用 Xcopy 来处理它。 /s 命令将不起作用。想象一下我的文件是 C:\Majid\Text.txt,如果我使用 /s 它只复制 text.txt 并且不会在目标文件夹上创建 Majid 文件夹。我该怎么办?
【解决方案2】:
set sourceFolder="C:\test\new folder\text.txt"
set destinationFolder=%sourceFolder:~3,-1%
echo %destinationFolder%

xcopy %sourceFolder%  "D:\xcopied%destinationFolder%"

类似的东西可以工作。删除源的前几个字符(“C:”),然后添加目标文件夹的字符(“D:\xcopied”)。

【讨论】:

  • 嗨 daniel,很好的答案,但是执行时会问一个问题。它会问目标目录是文件名还是目录,我应该输入 F 或 D。我不想这条消息并将其默认选项设置为 D。那丹尼尔如何?再次感谢您的好回答:)
【解决方案3】:

这个对我有好处

xcopy $(SolutionDir)Libs\YourFolder\* $(TargetDir)YourFolder /s /i /r

source

【讨论】:

    【解决方案4】:

    这里是:

    set sourceFolder="C:\Users\User\Desktop\34\*"
    set destinationFolder=%sourceFolder:~3,-1%
    
    xcopy %sourceFolder%  "D:\xcopied%destinationFolder%" /s /i /r
    

    基于@daniel 和@WahidBitar 的回答。谢谢你们;)

    【讨论】:

      【解决方案5】:

      试试这样的:

      System.Diagnostics.Process.Start
      ("XCOPY.EXE", "/E /I /Y " + filename + " " 
      + pfadauswahl + "Backup\\" + dt.ToString("yyyy-MM-dd") 
      + "\\UserData\\" + File_Name + "* ");
      

      在行尾加上星号,我摆脱了它是文件还是目录的问题。因为您没有指定任何关于如何使用它的内容...这是解决方案对于 c#

      【讨论】:

      • 问题是关于命令行中的 XCopy。它对 C# 或 Process.Start 没有任何要求,而您的答案充满了变量和函数调用,这些变量和函数调用对命令行毫无意义。我不确定这应该如何回答这里提出的问题。
      猜你喜欢
      • 1970-01-01
      • 2010-10-09
      • 1970-01-01
      • 2013-09-30
      • 1970-01-01
      • 2013-09-28
      • 1970-01-01
      • 2012-02-15
      相关资源
      最近更新 更多