批处理文件:需要从输入列表中搜索和复制文件

时间:2014-07-07 16:03:35

标签: loops batch-file dos batch-processing

我对编程任何东西都不是很好,甚至是批处理文件。

我已创建了一个批处理文件,该文件将根据我输入的数字从一个充满图像的大文件夹中复制文件。但是,我希望能够插入一个数字列表(用空格,逗号或其他东西分隔)并让它循环遍历每个数字的2个xcopy命令。

这是我到目前为止所得到的。它当然只适用于一个数字:

@echo off
set SourceFolder=\\1.2.3.4\ImagePool
set TargetFolder=C:\Users\BevansDesign\Desktop\ProductFiles
set /p SKUList=SKU Numbers:
echo RUNNING...
xcopy /s %SourceFolder%\%SKUList%.* %TargetFolder%\
echo STILL RUNNING...
xcopy /s %SourceFolder%\%SKUList%_*.* %TargetFolder%\
echo COMPLETE.
pause

有人能指出我正确的方向吗?我尝试使用谷歌搜索,但我发现的大部分内容都让人感到困惑和恐惧。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

尝试这样的事情:

@echo off
set SourceFolder=\\1.2.3.4\ImagePool
set TargetFolder=C:\Users\BevansDesign\Desktop\ProductFiles
set /p SKUList=SKU Numbers:
echo RUNNING...
for %%i in (%SKUList%) do (
    xcopy /s %SourceFolder%\%%i.* %TargetFolder%\
    echo STILL RUNNING...
    xcopy /s %SourceFolder%\%%i_*.* %TargetFolder%\
)
echo COMPLETE.
pause

输入列表作为逗号分隔的数字,或用空格分隔的数字,请记住,我还没有机会测试这个。只需通过输入进行迭代并获取每个数字并在该数字的parens中执行代码。