我有一个包含文件名的文本文件,需要将文本文件中列出的文件复制到另一个文件夹。
只有一个问题是文件名在文本文件末尾没有.rar
。
我正在寻找一个可以读取文本文件并将文本文件中列出的所有.rar
文件复制到另一个文件夹的批处理文件。
答案 0 :(得分:0)
假设您的文本文件如下所示,并且名为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”]%变量IN(文件集)DO命令[command-parameters]
file-set是一个或多个文件名。每个文件都被打开,读取 并在进入文件集中的下一个文件之前进行处理。 处理包括读取文件,将其分解为 单独的文本行,然后将每行解析为零或 更多的代币。然后用for调用for循环的主体 设置为找到的标记字符串的变量值。默认情况下,/ F. 从每个文件的每一行传递第一个空白分隔的标记。 空白行被跳过。
我使用delims
选项确保读取整行,包括任何空格。
delims = xxx - 指定分隔符集。这将替换默认的空格和制表符分隔符集。
在此解决方案中,为文本文件中的每一行调用复制命令,该命令可以修复丢失的扩展名并将其复制到新位置。