我有一个充满扫描文档的目录,根据年,月和日期分组到不同的文件夹和子文件夹中。每个扫描的文档都有一个唯一的条形码编号,分配给其文件名。
我要做的是编写一个命令,在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")
真的希望有人可以帮我解决这个问题。我可能浪费了更多的时间来试图让它工作,而不是试图以老式的方式找到文件,但如果我能让它工作,那么将来节省时间。
非常感谢,
戴夫
答案 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"
)