我的Windows框上有一个目录,我想有选择地将文件夹及其内容复制到另一个目录。我理解基本的复制命令和批处理脚本的命令,但我很失落如何完成这个。
我有一个大文本文件,其中包含我要复制的目录的所有文件夹名称,有没有什么方法可以在批处理文件的for循环中输入文件名?我需要做一个目录的递归副本。
为了澄清,我有一个包含文件夹名称的文本文件:
"folder 1"
"folder 2"
"folder 3"
"folder 4"
并且只是从一个位置到另一个位置,例如c:\source
到d:\source_backup
答案 0 :(得分:0)
@echo off
setlocal enableextensions disabledelayedexpansion
set "source=c:\somewhere\from"
set "target=c:\somewhere\to"
set "folderList=c:\somewhere\folders.txt"
for /f "tokens=* usebackq" %%a in ("%folderList%") do for %%b in (%%a) do (
if not "%%~b"=="" echo robocopy "%source%\%%~b" "%target%\%%~b" * /e
)
添加第二个for循环(%%b
)以处理引用文件夹名称之外的可能空格。最终复制操作仅响应控制台。如果输出正确,请删除echo
命令。