我基本上需要从windows命令行的目录中获取文件名列表,并获取每个文件名并将其与另一个命令行语句组合。
D:\Data
file1.txt
file2.txt
将文件与:
组合copy file1.txt file3.txt
copy file2.txt file4.txt
我知道上面的内容可能没有意义。我试图从概念上理解如何完成任务。非常感谢任何帮助。
答案 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