如何使用for循环获取文件名然后使用它们?

时间:2013-04-24 22:40:41

标签: variables for-loop batch-file text-files

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

我现在拥有什么

  @echo on

  SET name=hey
  echo >text.txt

  for %F in (*.*) do (set name=@fname
  echo name >> text.txt)

1 个答案:

答案 0 :(得分:0)

@Echo OFF

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

Pause&Exit

注意1:文件存储在“Filename”var中,但实际上并不是必需的,您可以直接将文件名写入文本文件。

注意2:如果要通过文件进行递归循环,请使用For命令的/ R开关。

注3:如果你想要文件扩展名改变这个:“%% ~n#”到这个:“%% ~nx#”

**UPDATE:**

替代脚本:

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