0

我基本上需要从 Windows 命令行的目录中获取文件名列表,并获取每个文件名并将其与另一个命令行语句结合起来。

D:\Data 
file1.txt
file2.txt

将文件与:

copy file1.txt file3.txt
copy file2.txt file4.txt

我知道以上可能没有意义。我试图从概念上理解如何完成任务。任何帮助是极大的赞赏。

4

2 回答 2

0

这将遍历 d:\data 中的所有文件并为每个for文件写出类似的内容。copy file1.txt targetname.txt我不知道您想如何形成目标文件的名称,但我认为这至少可以回答您关于如何对文件夹中的每个文件执行某些操作的问题。

setlocal enabledelayedexpansion
for /f %%f in ('dir "d:\data" /b /a-d') do (
    set filename=%%f
    echo Do something with !filename!
)
于 2013-04-02T20:55:29.760 回答
0

假设您file1.txt ... file4.txt在当前目录中,请尝试以下操作:

@echo off &setlocal enabledelayedexpansion
for /f "delims=" %%i in ('dir /a-d /b /on file?.txt') do (
    set "file1=!file2!"
    set "file2=!file3!"
    set "file3=%%~i"
    if not "!file1!"=="" echo copy !file1! !file3!
)

输出是:

copy file1.txt file3.txt
copy file2.txt file4.txt
于 2013-04-02T21:46:52.190 回答