使用文件列表进行复制

时间:2017-05-23 22:50:43

标签: batch-file

我有一个没有扩展名的文件名列表,以及这些文件及其扩展名的文件夹和子文件夹。我试图使用列表将这些文件复制到其他位置。我试着使用我在这里找到并修改它的脚本:

@echo off
FOR /R "P:\Case\MyCase\Productions" %%G in (.) do (
  for /F "delims=" %%i in (UniqueFileList.txt) do (
    if exist %%G\%%i.* xcopy %%G\%%i.* "C:\Temp\CopiedFiles" /D /Y
  )
)

我的文件名是TIN00001.msg,TIN00002.txt,TIN00003.jpg等......

我文件列表中的名称是TIN00001,TIN00002,TIN00003等......

如何使用脚本复制文件?

感谢任何帮助。

谢谢!

Mustu

1 个答案:

答案 0 :(得分:0)

我不确定我是否完全理解你的意图,但我最好的猜测是这样的事情适合你。

@Echo Off
Set "rootDir=P:\Case\MyCase\Productions"
Set "destDir=C:\Temp\CopiedFiles"
Set "listTxt=%~dp0UniqueFileList.txt"

For /F "Delims=" %%A In ('Where/R "%rootDir%" *.*^|FindStr/LIG:"%listTxt%"'
) Do FindStr/LIX "%%~nA" "%listTxt%">Nul 2>&1 && XCopy "%%A" "%dstDir%" /D /Y

如果%listTxt%与脚本不在同一位置,则将其位置更改为完整路径。