2013-04-22 125 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