如何处理批处理文件中的文件列表

时间:2014-08-05 07:29:10

标签: batch-file dos

我必须编写一个执行以下操作的Windows批处理脚本 将文件夹作为输入变量 将文件名列表作为输入变量 将输出文件夹作为输入变量

然后     foreach文件在列表中        如果文件名存在于输入文件夹中             将文件从输入文件夹复制到输出文件夹        其他             发出某种警告

因为我从未写过批处理文件,所以我真的很感激一些帮助,因为我不知道从哪里开始

非常感谢

1 个答案:

答案 0 :(得分:3)

@echo off
set /p input=Input Folder: 
set /p  output=Output Folder: 
set /p fileList= File List (file names can be separated with ;,<space>=): 

if not exist "%input%\" (
    echo input folder does not exist
    exit /b 1
)

if not exist "%output%\" (
    echo output folder does not exist
    exit /b 2
)

for %%a in (%fileList%) do (
    if exist "%input%\%%a" (
        copy /y "%input%\%%a" "%output%\" >nul 2>&1
    )
)

使用CM参数:

@echo off
set  "input=%~1" 
set "output=%~2"
::enclose the third parameter with double quotes.Separate file names with ,;<space> or =
set "fileList=%~3" 

if not exist "%input%\" (
    echo input folder does not exist
    exit /b 1
)

if not exist "%output%\" (
    echo output folder does not exist
    exit /b 2
)

for %%a in (%fileList%) do (
    if exist "%input%\%%a" (
        copy /y "%input%\%%a" "%output%\" >nul 2>&1
    )
)