【问题标题】:How to copy *.rar files listed in a text file to another folder?如何将文本文件中列出的 *.rar 文件复制到另一个文件夹?
【发布时间】:2014-08-23 22:42:00
【问题描述】:

我有一个包含文件名的文本文件,需要将文本文件中列出的文件复制到另一个文件夹。

只有一个问题是文件名在文本文件的末尾没有.rar

我正在寻找一个可以读取文本文件并将文本文件中列出的所有.rar 文件复制到另一个文件夹的批处理文件。

【问题讨论】:

    标签: batch-file copy


    【解决方案1】:

    假设你的文本文件看起来像这样并且被称为files.txt

    file1
    file2
    file3
    

    你文件夹中的文件分别命名为file1.rar、file2.rar和file3.rar,下面的命令行可以实现你想要的:

    for /f "delims=" %f in (files.txt) do copy "%f.rar" "c:\some\other\folder" 
    

    这是如何工作的?

    使用for /? 详细说明可用选项及其用法:

    FOR /F ["options"] %variable IN (file-set) DO command [command-parameters]

    file-set 是一个或多个文件名。每个文件都打开,读取 并在处理文件集中的下一个文件之前进行处理。 处理包括读取文件,将其分解为 单独的文本行,然后将每一行解析为零或 更多代币。然后使用 for 循环体调用 变量值设置为找到的令牌字符串。默认情况下,/F 从每个文件的每一行传递第一个空格分隔的标记。 空白行被跳过。

    我使用delims 选项来确保读取整行,包括所有空格。

    delims=xxx - 指定分隔符集。这将替换默认分隔符集的空格和制表符。

    在此解决方案中,为文本文件中的每一行调用复制命令,从而可以修复缺少的扩展名并将其复制到新位置。

    【讨论】:

    • 您不需要批处理文件。这将直接从命令行工作。它将在 files.txt 文件和需要复制的文件所在的文件夹中工作。
    猜你喜欢
    • 2012-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-29
    • 2014-12-05
    • 1970-01-01
    • 2011-08-22
    • 2012-05-05
    相关资源
    最近更新 更多