xcopy批次问题

时间:2019-02-21 16:28:07

标签: batch-file xcopy

我想复制一组子文件夹,其中列表上有name contains个项目。列表中有一组代码(例如ABC1ABC2),但文件夹名为ABC1_revised_2018,依此类推。我放在一起的批处理文件在下面。我遇到了'"Usebackq tokens=^" was unexpected'错误。

@ECHO ON
SET FileList=C:\filelist.txt
SET Source=C:\Files
SET Destination=C:\Files-Parsed
FOR /D "USEBACKQ TOKENS=^" %%D IN ("%FileList%") DO XCOPY /E /F /D "%Source%\%%~D" "%Destination%\"
GOTO :EOF

我正在尝试使用^来表示match beginning of string,但这显然不起作用。有任何想法吗?我尝试使用批处理文件,也尝试在cmd中逐行显示。

追加

Folder
     -ABC1-text-date (this is a subfolder)
     -ABC2-text-date

filelist.txt only has values like ABC1, ABC2, etc. not exact matches does this help?

1 个答案:

答案 0 :(得分:1)

好吧,如果要遍历目录并根据文件中的部分匹配项来复制子目录:

@echo off
set "FileList=C:\filelist.txt"
set "Source=C:\Files"
set "Destination=C:\Files-Parsed"
for /f "delims=" %%a in (%filelist%) do (
  pushd %source%
  for /f "delims=" %%i in ('dir /s /b /ad "%%a*"') do xcopy /E /F /D "%%~fi" "%Destination%"
  popd
)

获取文件中的条目后,for /d将在源目录中列出目录*的目录,并将目录实际复制为C:\source\*\ABC2018等。