使用For循环将变量写入文件

时间:2015-11-03 23:02:25

标签: windows command-line-interface

我有一个包含大约20个(文本)文件的目录。这些文件的内容是MD5哈希值。我想制作一个singel(文本)文件,其中包含所有其他文件的名称以及此文件的内容。当我将输出放到屏幕上时,我制作的脚本有效,但是当我将它写入文件(test.txt)时,它只写第一行?我做错了什么?

e.g。

file1 hjgd876kjkjkj7wde888dkjhkjhd78lkjlkjd98098

file2 iueiuy8ss799sfdffs7gfgrg7kjnkj5564kljlj345

file3 987fefdfges97sdfgg9766dgsdv097sdfdfg9866ds

.....

@echo off

SETLOCAL ENABLEEXTENSIONS



rem %%L is the name of the files. %%K is the content of the files

FOR /F "tokens=*" %%L IN ('dir /b *.sha') DO (

    for /F "tokens=*" %%K IN (%%L) DO echo %%L   %%K >> test.txt

)

1 个答案:

答案 0 :(得分:0)

我认为重定向到文件必须在最后:

@echo off

SETLOCAL ENABLEEXTENSIONS



rem %%L is the name of the files. %%K is the content of the files

FOR /F "tokens=*" %%L IN ('dir /b *.sha') DO (

    for /F "tokens=*" %%K IN (%%L) DO echo %%L   %%K 

) >> test.txt