加入命令行语句

时间:2013-04-02 20:13:17

标签: windows batch-file cmd directory

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

D:\Data 
file1.txt
file2.txt

将文件与:

组合
copy file1.txt file3.txt
copy file2.txt file4.txt

我知道上面的内容可能没有意义。我试图从概念上理解如何完成任务。非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

for将遍历d:\ data中的所有文件,并为每个文件写出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!
)

答案 1 :(得分: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