【发布时间】:2017-05-17 22:53:13
【问题描述】:
我们的数据库中有仓库库存的图像。 我们会将这些图像的文件名列表提取到 .txt 文件中。
file-list.txt 的内容例如:
060128412948.jpg
068912475982.jpg
etc.
每只股票我们有 3 张图片,其中 2 张是低分辨率图片,其中 1 张是高分辨率图片。
我需要脚本仅将文件夹/子文件夹中每只股票的高分辨率图像复制到母目录中。
这是我目前所拥有的,但这只是从源目标文件夹复制文件列表中列出的文件。
@echo off
set src_folder=C:\Users\jakub.parszewski\Desktop\TT\SalesOrders\NewOrder
set dst_folder=C:\Users\jakub.parszewski\Desktop\TT\Test
set file_list=C:\Users\jakub.parszewski\Desktop\TT\File-list.txt
set maxbytesize=300000
for /f "delims=" %%A in (%file_list% do set size=%%~zA
for /f "delims=" %%f in (%file_list%) do (
if %size% GTR %maxbytesize%
xcopy "%src_folder%\%%f" "%dst_folder%\"
)
pause
【问题讨论】:
-
那是因为你只执行了1.,你需要在@前加上2. & 3. 987654323@。我非常怀疑此站点上没有没有包含文件大小检查的
for循环示例。 -
您能进一步解释一下吗?我在这方面没有太多经验,即使寻找答案也没有给我任何实际工作。我的经理要求我这样做。
-
如果您搜索此站点或使用搜索引擎,您会发现许多通过
for循环确定文件大小的方法示例。您也可以在命令提示符窗口中输入for /?并读取输出的数据。 -
感谢 Compo,我一直在搜索和玩一些东西,但对于新手来说,它似乎并没有让我到任何地方。我已经更新了我的问题中的代码,我是否更接近我所在的位置,或者我只是在远离我需要的东西?我遇到的问题是我需要脚本首先从 file-list.txt 中获取文件名,然后检查该文件的大小。如果大小大于任何值,则 xcopy 如果大小小于任何值,则忽略。
-
您能否提供一个包含在 File-list.txt 中的内容的示例,并向我们解释该列表是如何生成的。您提供的信息越多,您就越有可能获得满意的解决方案。 (您最初的问题是关于大于 2MB 的 jpeg 文件,但是您的代码建议销售订单和 0.2861MB 的文件大小)。
标签: database batch-file size jpeg xcopy