Batch file 在csv文件中列出的目录中查找文件并复制到新文件夹
我有一个满是扫描文档的目录,根据年份、月份和日期分为不同的文件夹和子文件夹。每个扫描文档的文件名都有一个唯一的条形码编号Batch file 在csv文件中列出的目录中查找文件并复制到新文件夹,batch-file,csv,command,Batch File,Csv,Command,我有一个满是扫描文档的目录,根据年份、月份和日期分为不同的文件夹和子文件夹。每个扫描文档的文件名都有一个唯一的条形码编号 for /f "usebackq delims=" %%a in ("theFile.csv") do ( for /r "%theDir%" %%b in ("%%a.*") do copy "%%b" "C:\Data" ) 我要做的是编写一个命令,在csv文件中使用这些条形码的列表,搜索目录和子目录中的相关文件,然后将它们复制到本地驱动器上的新文件夹中 这就
for /f "usebackq delims=" %%a in ("theFile.csv") do (
for /r "%theDir%" %%b in ("%%a.*") do copy "%%b" "C:\Data"
)
我要做的是编写一个命令,在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")
真希望有人能帮我解决这个问题。我可能会浪费更多的时间来尝试让它工作,而不是试图用老式的方式找到文件,但如果我能让它工作,它将节省时间在未来
非常感谢,
戴夫我希望我正确地解释了你的问题。 我假设,
theFile.csv
只包含条形码,没有完整的路径:
for /f "delims=" %%i in (theFile.csv) do (
for /f %%j in ('dir /s /b %theDir%\%%i.*') do (
copy "%%j" "C:\Data"
)
)
这里还有另一个选项:
usebackq
允许thefile.csv
也通过路径指定,并在路径或文件名中包含空格或(&I)
for /f "usebackq delims=" %%a in ("theFile.csv") do (
for /r "%theDir%" %%b in ("%%a.*") do copy "%%b" "C:\Data"
)
令人惊叹的!你是明星斯蒂芬,这正是我想要的。我可以厚着脸皮要求稍微修改一下吗?是否可以在复制每个文件名时对其进行更改?例如,要将001-添加到每个文件名的开头。
001
到每个文件名,还是要在第一个文件`002'中添加一个“计数器”:001
?到第二个,依此类推?如果可能的话,一个计数器。这样我们就可以按照csv文件中输入的顺序重新扫描图像。