2013-04-24 100 views
0

我有一个文件夹中的文件a.txt,b.txt和c.txt。我想用for循环来获取这些文件的名称,将它们存储在一个变量中,然后将它们添加到另一个文本文件中。文本文件与我的bat文件位于同一个文件中。是否有可能做到这一点?如果有,请告诉我,这些for循环混淆的废话了我的...如何使用for循环获取文件名然后使用它们?

我有什么现在

@echo on 

    SET name=hey 
    echo >text.txt 

    for %F in (*.*) do (set [email protected] 
    echo name >> text.txt) 
+0

那是什么:'文本文件与我的蝙蝠文件位于同一个文件.'该文件位于一个文件? – Endoro 2013-04-25 01:40:54

回答

0
@Echo OFF 

(For %%# in ("*.txt") do (
    Set "FileName=%%~n#" 
    Call Echo %%FILENAME%% 
))>"MyFilenames.txt" 

Pause&Exit 

注1:文件存储在“文件名”无功,但没有必要,您可以直接将文件名写入文本文件。注意2:如果要通过文件进行递归循环,请使用For命令的/ R开关。

注3:如果您还想要的文件扩展名更改此设置: “%%〜N#” 这个别人: “%%〜NX#”

**UPDATE:** 

另一种脚本:

@Echo OFF 
For %%# in (*.txt) do (Echo %%~n#>> "MyFiles.txt") 
Pause&Exit 
+0

这只是打印了一个文本文件,上面写着“ECHO is on”。它是通过一个文件夹并获取文件名或通过文件并获得线? – user2313522 2013-04-24 22:57:00

+0

该脚本工作,它会在工作文件夹启动并获取文件的文件名,如果要读取文本文件内容行的文件名,然后至少发布文本文件内容的示例,我们不是向导! – ElektroStudios 2013-04-24 23:10:34

+0

没有这样做正是我想要它做的,但是当我把它放在一个新的bat文件中时,它打印“MyFilenames”没有其他东西 – user2313522 2013-04-24 23:16:55

相关问题