我的问题非常类似于在stackoverflow上发布here的问题,但我的不同之处在于我需要批处理脚本来执行以下操作
我需要对此批处理脚本进行哪些修改才能完成该任务?
@echo off
for /f "tokens=1,2 delims=," %%j in (project.csv) do (
copy "%%j.jpg" c:\mytestproject\newimages
rename c:\mytestproject\newimages\%%j.jpg" %%k.jpg
)
答案 0 :(得分:1)
以下批处理文件假定.CSV文件每行只包含一个字段:在特定目录中存在的具有任何扩展名的文件的名称(无扩展名),因此它将该文件复制到另一个目录
@echo off
set "theDir=C:\The\Particular\Directory"
for /F "delims=" %%f in (theFile.csv) do (
copy %theDir%\%%f.* "C:\another\Directory"
)
如果您希望图片文件的扩展名来自有限列表:
@echo off
set "theDir=C:\The\Particular\Directory"
for /F "delims=" %%f in (theFile.csv) do (
for %%e in (jpg png) do (
if exist "%theDir%\%%f.%%e" copy "%theDir%\%%f.%%e" "C:\another\Directory"
)
答案 1 :(得分:0)
您可以使用if exist
检查文件是否存在。所以在你的循环中:
if exist "%%j.jpg" copy "%%j.jpg" target
if exist "%%j.png" copy "%%j.png" target