Windows 10 复制命令错误

Windows 10 复制命令错误

我尝试从命令提示符执行 Windows 10 复制命令,如下所示:

copy "c:\folderA" "d:\folderB"

这导致文件夹 B 成为一个文件,而不是包含文件夹 A 内容的新文件夹。我有什么办法可以将文件夹 B 文件的内容提取回文件夹吗?如果我在文本编辑器中打开文件夹 B 文件,文件中的第一件事是“SQLite 格式 3”。

如果有解决方案,请告诉我解决方案的方向。我搜索了解决方案,但没有找到。

答案1

您的文件已连接在一起,您可能需要使用文本编辑器编辑 folderB 文件以将其手动分离为原始文件。

请注意,这仅在文件夹 A 包含文本文件而非二进制文件时才有效。原因是 的默认选项copy/A复制文本文件。要复制二进制文件,需要指定 的参数/B

因此,如果文件夹 A 包含二进制文件,这些文件会被副本破坏或截断,因此无法进行挽救。

答案2

我可以复制这样的情况:预期的目标位置会产生一个包含源文件夹中所有文件的连接文件(有点类似于 ZIP 文件,但里面包含错误/不良内容)。

为了解决这个问题,我建议您将“d:\folderB”重命名为例如“d:\backup_concatenated”(出于备份原因......)。

然后你可以重新开始使用:

mkdir "d:\folderB"    
copy "c:\folderA" "d:\folderB"

这样,您首先会创建目标文件夹。其次,您可以将文件从“c:\folderA”复制到“d:\folderB”。

请注意:此复制命令不会复制任何子文件夹,并且会跳过隐藏/系统文件。这样,它不能用于创建源文件夹的完整备份副本!

为了让事情变得更方便,我更喜欢使用像“Total Commander”(或 FAR Manager)这样的工具来完成这类工作......

答案3

对于文件夹、子文件夹的副本(无论是否包含文件),使用xcopy反而copy命令...

xcopy /e /v /c /i /q /g /h /r /k /y "c:\folderA" "d:\folderB"

  • 吼叫之下xcopy /?命令帮助输出:
Copies files and directory trees.

XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W]
                           [/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U]
                           [/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z] [/B] [/J]
                           [/EXCLUDE:file1[+file2][+file3]...]

  source       Specifies the file(s) to copy.
  destination  Specifies the location and/or name of new files.
  /A           Copies only files with the archive attribute set,
               doesn't change the attribute.
  /M           Copies only files with the archive attribute set,
               turns off the archive attribute.
  /D:m-d-y     Copies files changed on or after the specified date.
               If no date is given, copies only those files whose
               source time is newer than the destination time.
  /EXCLUDE:file1[+file2][+file3]...
               Specifies a list of files containing strings.  Each string
               should be in a separate line in the files.  When any of the
               strings match any part of the absolute path of the file to be
               copied, that file will be excluded from being copied.  For
               example, specifying a string like \obj\ or .obj will exclude
               all files underneath the directory obj or all files with the
               .obj extension respectively.
  /P           Prompts you before creating each destination file.
  /S           Copies directories and subdirectories except empty ones.
  /E           Copies directories and subdirectories, including empty ones.
               Same as /S /E. May be used to modify /T.
  /V           Verifies the size of each new file.
  /W           Prompts you to press a key before copying.
  /C           Continues copying even if errors occur.
  /I           If destination does not exist and copying more than one file,
               assumes that destination must be a directory.
  /Q           Does not display file names while copying.
  /F           Displays full source and destination file names while copying.
  /L           Displays files that would be copied.
  /G           Allows the copying of encrypted files to destination that does
               not support encryption.
  /H           Copies hidden and system files also.
  /R           Overwrites read-only files.
  /T           Creates directory structure, but does not copy files. Does not
               include empty directories or subdirectories. /T /E includes
               empty directories and subdirectories.
  /U           Copies only files that already exist in destination.
  /K           Copies attributes. Normal Xcopy will reset read-only attributes.
  /N           Copies using the generated short names.
  /O           Copies file ownership and ACL information.
  /X           Copies file audit settings (implies /O).
  /Y           Suppresses prompting to confirm you want to overwrite an
               existing destination file.
  /-Y          Causes prompting to confirm you want to overwrite an
               existing destination file.
  /Z           Copies networked files in restartable mode.
  /B           Copies the Symbolic Link itself versus the target of the link.
  /J           Copies using unbuffered I/O. Recommended for very large files.

The switch /Y may be preset in the COPYCMD environment variable.
This may be overridden with /-Y on the command line.

相关内容