bat批处理,实现循环读取txt,每行内容为文件夹名称或文件,把对应文件夹或文件复制或剪切
时间: 2023-09-04 19:01:05 浏览: 265
使用批处理脚本可以实现循环读取txt文件中的每一行内容,并根据行内容判断是文件夹还是文件,然后进行复制或剪切操作。下面是一个简单的示例脚本:
```batch
@echo off
setlocal
set "source=C:\path\to\source\folder" 选择源文件夹的路径
set "destination=C:\path\to\destination\folder" 选择目标文件夹的路径
set "filelist=files.txt" 选择包含文件和文件夹名称的txt文件路径
for /f "delims=" %%i in (%filelist%) do (
set "item=%%i"
if exist "%source%\%%i\" (
echo 复制文件夹:%source%\%%i
xcopy /e /y "%source%\%%i" "%destination%\%%i"
) else if exist "%source%\%%i" (
echo 复制文件:%source%\%%i
copy /y "%source%\%%i" "%destination%\%%i"
) else (
echo 找不到:%source%\%%i
)
)
endlocal
```
解释:首先,我们设置源文件夹的路径(source)和目标文件夹的路径(destination),以及包含文件和文件夹名称的txt文件的路径(filelist)。
然后,我们使用for循环逐行读取txt文件中的内容(%%i),并将其保存到变量item中。
接下来,我们使用if条件语句来判断如果%%i是文件夹,则使用xcopy命令进行复制,如果是文件,则使用copy命令进行复制。如果在源文件夹中找不到%%i,则会输出一个错误提示。
最后,使用endlocal命令结束脚本的执行。
请注意,这只是一个简单的示例脚本,根据实际需求,你可能需要对其进行修改和扩展。
阅读全文