0

我有一个文件夹,其中包含文件 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)
4

1 回答 1

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
于 2013-04-24T22:50:25.690 回答