【问题标题】:Selectively copy folders within a directory using text file of known folder names使用已知文件夹名称的文本文件有选择地复制目录中的文件夹
【发布时间】:2014-01-12 08:55:38
【问题描述】:

我的 windows 框上有一个目录,我想有选择地将文件夹及其内容从中复制到另一个目录。我了解基本的复制命令和批处理脚本命令,但我不知道如何完成这个。

我有一个大文本文件,其中包含我要复制的目录的所有文件夹名称,有什么方法可以在批处理文件的 for 循环中输入文件名?我需要对目录进行递归复制。

为了澄清,我有一个包含文件夹名称的文本文件,格式如下:

"folder 1"
"folder 2"
"folder 3"
"folder 4"

只是从一个位置到另一个位置,例如 c:\sourced:\source_backup

【问题讨论】:

  • 很简单 - 向我们展示您的文本文件样本并告诉我们您希望副本在哪里结束。

标签: batch-file command-line windows-7 scripting batch-processing


【解决方案1】:

@echo 关闭

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命令。

【讨论】:

    猜你喜欢
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-12
    • 1970-01-01
    • 2017-04-30
    • 1970-01-01
    相关资源
    最近更新 更多