繁体   English   中英

批处理脚本以读取和提取文本文件中的详细信息

[英]Batch script to read and extract details from a text file

我需要使用Windows批处理脚本将一些文件和文件夹复制到它们各自的目标位置。

我应该复制的所有文件和文件夹都保存在一个文件夹SOURCE

范例

  • 文件夹: C:\\X\\Y\\Z\\SOURCE\\A
  • 文件: C:\\X\\Y\\Z\\SOURCE\\A.txt
  • 文件: C:\\X\\Y\\Z\\SOURCE\\B.txt
  • 文件夹: C:\\X\\Y\\Z\\SOURCE\\ZZZ

以上所有内容的目标路径均作为文本文件内容destination.txt

destination.txt的内容

C:\FinalDestination\D\A\...
C:\FinalDestination\N\A.txt
C:\FinalDestination\C\B.txt
C:\FinalDestination\U\ZZZ\...

末尾的三个点表示目录,否则为文件。

在上述情况下,我需要做的是:

  • 将文件夹ASOURCE复制到C:\\FinalDestination\\D\\
  • 将文件A.txtSOURCE复制到C:\\FinalDestination\\N\\
  • 将文件B.txtSOURCE复制到C:\\FinalDestination\\C\\
  • 将文件夹ZZZSOURCE复制到C:\\FinalDestination\\U\\

我不知道该怎么做,因为我是Windows命令行的新手。

我知道XCopy是一个对我XCopy的命令, xcopy source destination ,但是我不知道如何提取源和目标详细信息。

使用不变的destination.txt和您提供的数据,以下操作可能会有所帮助:

@Echo Off

Set "sD=C:\X\Y\Z\SOURCE"
Set "sF=destination.txt"

For /F "UseBackQ Delims=" %%A In ("%sF%"
) Do For %%B In ("%%~fA.") Do echo=XCopy/IY "%sD%\%%~nxB" "%%~dpA." 2>Nul
Pause

您只需要在第3行和第4行修改变量的内容

注意事项

我目前已经做到了,这样就不会复制任何内容,只是将命令输出到您的屏幕。 如果您对输出满意,请从第7行删除echo=并删除第8行的内容

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM