从Windows cmd.exe复制文件

时间:2014-05-24 18:38:24

标签: windows command-line

我尝试在损坏的MySQL数据库中备份文件,然后从另一个备份文件进行全新安装。我在Windows 7机器上。有人建议如下,但mv命令在Windows上不起作用:

mv /var/lib/mysql /var/lib/mysql.old

相反,我正在尝试使用robocopy,但每次尝试都会收到一系列不同的错误消息。以下是我的各种尝试的一些错误消息的屏幕截图:

以下是相关帖子中完整建议代码的链接,如果它可以帮助任何人建议正确的语法: Click Here

我尝试了xcopy,但收到了以下错误结果:

然后我尝试了move,但得到了以下结果,尽管尝试了几种不同的方法来做斜杠:

我在我的硬盘中添加了C:\ProgramData\MySQL\bkup文件夹并尝试了以下操作:

4 个答案:

答案 0 :(得分:1)

为什么不使用这种语法? :

xcopy /s SOURCEDIR DESTDIR
eg: xcopy /s C:\Users\Iman\Desktop\k C:\Users\Iman\Desktop\kk

答案 1 :(得分:1)

这是一种可能的方法,因为这些路径似乎正在颠覆你:

 MD C:\BackupDir 

 Subst G: c:\BackupDir

 Cd C:\MypathtoMysql

 G: (Switch to G drive)

 Xcopy C:*.* /s /e

这样您就可以在要复制的目录中,因此无需指定它,并且您要复制到本地位置而不是路径位置。

答案 2 :(得分:0)

所以,我这样做是为了证明我在评论中试图传达的内容:

  1. 创建了一个名为C:\ProgramData\directory 1\sub-directory a的目录,其中包含两个文件:

    C:\>dir "C:\ProgramData\directory 1\sub-directory a"
     Volume in drive C has no label.
     Volume Serial Number is 303C-DB3D
    
     Directory of C:\ProgramData\directory 1\sub-directory a
    
    24/05/2014  22:35    <DIR>          .
    24/05/2014  22:35    <DIR>          ..
    24/05/2014  22:35                13 file 1
    24/05/2014  22:35                13 file 2
                   2 File(s)             26 bytes
                   2 Dir(s)  1,076,169,957,376 bytes free
    
  2. 创建了一个目录C:\ProgramData\directory 2

    C:\>dir "C:\ProgramData\directory 2"
     Volume in drive C has no label.
     Volume Serial Number is 303C-DB3D
    
     Directory of C:\ProgramData\directory 2
    
    24/05/2014  22:35    <DIR>          .
    24/05/2014  22:35    <DIR>          ..
                   0 File(s)              0 bytes
                   2 Dir(s)  1,076,169,957,376 bytes free
    
  3. 使用movesub-directory a移至C:\ProgramData\directory 2,如下所示:

    C:\>move "C:\ProgramData\directory 1\sub-directory a" "C:\ProgramData\directory 2\sub-directory a"
            1 dir(s) moved.
    
  4. 确认目录及其文件应该在哪里:

    C:\>dir "C:\ProgramData\directory 2\sub-directory a"
     Volume in drive C has no label.
     Volume Serial Number is 303C-DB3D
    
     Directory of C:\ProgramData\directory 2\sub-directory a
    
    24/05/2014  22:35    <DIR>          .
    24/05/2014  22:35    <DIR>          ..
    24/05/2014  22:35                13 file 1
    24/05/2014  22:35                13 file 2
                   2 File(s)             26 bytes
                   2 Dir(s)  1,076,169,957,376 bytes free
    
  5. 总结:

    • move可以说是一个重命名操作:第一个参数是源,它是文件的路径,第二个参数,目的地,是你想要的

    • 目标的父目录应该存在。例如。如果我转到C:\ProgramData\directory 2\sub-directory a,则应该已有一个目录C:\ProgramData\directory 2

    • 需要引用包含空格的参数,例如move的目录参数。每个论点都应该单独引用。

    • 当您确定它们应该是什么时使用相对路径 ,否则使用绝对路径。

答案 3 :(得分:-1)

您是否有理由希望通过命令行完成此操作?为什么不使用Beyond Compare之类的文件差异工具?此工具为您提供文件差异的可视化概述,但也可用于将文件复制到另一个文件夹以进行备份。也可以对不同文件夹中的文件进行完全二进制比较。 See a screenshot包含命令行版本

也许来自SuperUser的这个主题可以提供帮助:https://superuser.com/questions/748069/how-do-i-compare-two-folders-recursively-and-generate-a-list-of-files-and-folder - 查看答案列表,RoboCopy上会有一个条目,其用途也有类似的目的。