2013-04-24 33 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