查找csv文件中列出的目录中的文件并复制到新文件夹

时间:2014-04-03 08:05:06

标签: batch-file csv command

我有一个充满扫描文档的目录,根据年,月和日期分组到不同的文件夹和子文件夹中。每个扫描的文档都有一个唯一的条形码编号,分配给其文件名。

我要做的是编写一个命令,在csv文件中使用这些条形码的列表,并在目录和子目录中搜索相关文件,然后将它们复制到我在我的新文件夹中当地的车道。

这是我到目前为止所拥有的......

@echo off
setlocal enabledelayedexpansion

set id=0
if not exist AllFilesFolder mkdir AllFilesFolder

set "theDir=Z:\INVS"

for /f "delims=" %%i in (theFile.csv) do (
    copy %theDir%\%%i.* "C:\Data")

真的希望有人可以帮我解决这个问题。我可能浪费了更多的时间来试图让它工作,而不是试图以老式的方式找到文件,但如果我能让它工作,那么将来节省时间。

非常感谢,

戴夫

2 个答案:

答案 0 :(得分:0)

我希望我能正确地解释你的问题。 我假设,theFile.csv只包含条形码,没有完整的路径:

for /f "delims=" %%i in (theFile.csv) do (
  for /f %%j in ('dir /s /b %theDir%\%%i.*') do (
    copy "%%j" "C:\Data"  
  )
)

答案 1 :(得分:0)

以下是另一种选择:usebackq也允许thefile.csv由路径指定,并包含空格或&在路径或文件名中。

for /f "usebackq delims=" %%a in ("theFile.csv") do (
   for /r "%theDir%" %%b in ("%%a.*") do copy "%%b" "C:\Data"  
)