【问题标题】:XCOPY is copying the whole directory contents, not just the files and folders mentioned in fileXCOPY 正在复制整个目录内容,而不仅仅是文件中提到的文件和文件夹
【发布时间】:2011-08-17 11:55:07
【问题描述】:

我正在尝试从目录中递归地复制一组文件和文件夹。文件集列在一个文本文件中。这是我的脚本:

set src_folder=C:\Users\mmhuqx\HW
set dst_folder=C:\Unix2Windows
set filelist=C:\Unix2Windows\filelist-tm.txt
echo Origen: %src_folder%
echo Destino: %dst_folder%
echo.

for /f "delims=" %%i in (%filelist%) do (
    xcopy  /s /y "%src_folder%\%%i" "%dst_folder%"
)

但是当我运行脚本时,它会复制整个目录内容,包括文本文件中未列出的文件和文件夹。

如何使用 XCOPY 使其工作,还是不可能?

【问题讨论】:

  • 我已经测试了你的脚本。这个对我有用。执行脚本时命令行打印什么?也许这会给你一个指针。
  • 这里是filelist-tm.txt的内容:
  • 特别是没有指针。该脚本从 C:\Users\mmhuqx\HW 复制所有内容,这是大量的文件和文件夹。但目的是只复制文本文件(filelist-tm.txt)中提到的文件。以下是文本文件的内容:TOP_LEVEL\MODEM_DEBUG TOP_LEVEL\MODEM_DEBUG TOP_LEVEL\MODEM_RELEASE TOP_LEVEL\MODEM_DEBUG\AENEAS_FW.fls TOP_LEVEL\MODEM_DEBUG\CDS TOP_LEVEL\MODEM_DEBUG\nvm_SAM_*.cfg TOP_LEVEL\MODEM_latform.TOP_LEVEL\MODEM_DEBUG\MODE_LEVELs。 axf TOP_LEVEL\MODEM_DEBUG\PlatforTOP_LEVEL\MODEM_DEBUG TOP_LEVEL\MODEM_RELEASE TOP_LEVEL\MODEM_DEBUG\AENEAS_FW
  • 你能通过说whats wrong来提供帮助吗?

标签: file text xcopy


【解决方案1】:

您的filelist-tm.txt 似乎有误。例如,它包含一个条目TOP_LEVEL\MODEM_DEBUG。这样该目录及其所有文件都会被完全复制。

您似乎只想复制TOP_LEVEL\MODEM_DEBUG\AENEAS_FW.fls。所以你的filelist-tm.txt 应该只包含这个条目。

【讨论】:

  • 谢谢你们。但我仍然不确定我是否理解你的意思。我不仅要复制 TOP_LEVEL\MODEM_DEBUG\AENEAS_FW.fls 文件,还要复制列出的文件,并在复制时保持相同的目录结构。但是脚本当前正在复制所有内容。 XCOPY 可以用来做我想做的事吗?
  • 您的脚本没有保留目录结构,因为您让 xcopy 将文件复制到 %dst_folder%。如果您将其更改为%dst_folder%\%%i,您也许可以解决此问题。我在回答中的意思是您的文件列表不应包含指向目录的条目。它应该只包含您要复制的文件。
  • 我实际上也尝试过,将所有目录条目都从文本文件中删除。但它仍然不只复制文件集,而是复制整个目录结构。不管怎么说,还是要谢谢你。不确定 xcopy 是否是执行此操作的正确工具。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-02
  • 2018-01-10
  • 2020-03-15
相关资源
最近更新 更多