我们的数据库中有仓库库存的图片。 我们将这些图像的文件名列表拉入.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
答案 0 :(得分:0)
虽然您考虑可能更好的方法来实现更健壮的方法,但这里有一个For
循环示例,使用的方法类似于您的原始意图。
@Echo Off
Set "src_folder=%UserProfile%\Desktop\TT\SalesOrders\NewOrder"
Set "dst_folder=%UserProfile%\Desktop\TT\Test"
Set "file_list=%UserProfile%\Desktop\TT\File-list.txt"
Set "maxbytesize=3000"
For /F "UseBackQ Delims=" %%A In ("%file_list%") Do For /F %%B In (
'Where/T /F "%src_folder%":"%%~nxA" 2^>Nul'
) Do If %%B Gtr %maxbytesize% Copy "%src_folder%\%%~nxA" "%dst_folder%">Nul
Pause
我使用Copy
,因为您的XCopy
示例并未使用基本副本之外的任何选项。