我有一个包含文件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)
答案 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