2013-04-22 147 views
-1

我是新来的批处理文件,我需要帮助。批处理:从文件名列表创建一个循环

我有一个文件名列表的文件:file_list.txt - >内容: “file1.ppt,file2.ppt,file3.ppt

一个文件有一些文字:文本.TXT - >内容: “开放xxxx,并保存为PDF格式

我需要做的创建一个新的文本文件(run.txt),将看看这个:

开放file1.ppt并保存为PDF

开放file2.ppt并保存为PDF

开放file3.ppt并保存为PDF

我一直在寻找进入“对于” 命令,但我清楚鸵鸟政策知道从哪里开始

FOR/F “令牌= *” %% A IN(file_list.txt)DO( ECHO %%甲

+1

'file_list.txt'的内容是否在一行中? – Endoro 2013-04-22 22:10:11

+0

不,这只是一个例子,文本有6行,但只有一个字符串。 – 2013-04-22 22:27:59

回答

0
@echo off 
setlocal EnableDelayedExpansion 
set replace=xxxx 
set /P text=< text.txt 
(for /F %%a in (file_list.txt) do (
    echo !text:%replace%=%%a! 
)) > run.txt 

只要把replace变量,必须通过文件名来替换字符串。

+0

太棒了!有效。这正是我所期待的。感谢您的宝贵帮助。 – 2013-04-22 23:33:44

0

这是否解决您的任务?

@echo off 
for /f "delims=" %%a in (file_list.txt) do (
>>run.txt echo open %%a and save as pdf 
) 
+0

不,文本“打开xxxx并保存为PDF”只是一个简单的例子,我有几行文本的各种文件。我必须将这个文本定义为一个字符串。 – 2013-04-22 22:32:19

+0

那么,你如何知道文件名的哪一部分必须被替换? – Aacini 2013-04-22 23:00:52

+0

@Jose Costa:你如何改变你的问题,并告诉我们你真正想要什么。 – foxidrive 2013-04-22 23:06:34

相关问题