如何仅将文件名和大小转储到Windows中的文本文件?

时间:2017-04-12 17:11:26

标签: windows cmd

我使用以下命令:

for %F in (*) do @echo %F %~zF

仅为了创建文件名和大小列表。输出如下:

a.txt  21
b.txt  72
3.txt  73

现在我的问题是如何将其转储到文件中?我尝试在命令末尾添加> filename.txt,但它只将最后一个条目转储到文件中。

2 个答案:

答案 0 :(得分:1)

这个问题:

    $args = array
    (
        'post_type' => 'item',
        'nopaging' => true,
        'tax_query' => array
        (
           'taxonomy' => $taxonomy,
           'field' => 'term_taxonomy_id',
           'terms' => $term_id
        ),
        'meta_query'  => array(
           'key'     => 'from_import',  
           'value'   => '1'
        )
    );
    $posts = query_posts( $args );

...是cmd解释器将重定向视为for %F in (*) do @echo %F %~zF> filename.txt 语句的一部分,而不是@echo的一部分。您可以使用for附加每个循环迭代,但这样效率很低。这基本上会在每次循环迭代时打开,追加和关闭文件。

更好的解决方案是只打开输出文件一次以进行写入,并保持打开直到完成循环。您可以通过将循环括在括号中来将重定向应用于外部循环。

>>

> filename.txt (
    for %F in (*) do @echo %F %~zF
)

......无论你喜欢什么。

答案 1 :(得分:0)

这样做:

>> filename.txt  

有关命令行重定向的更多信息:
https://ss64.com/nt/syntax-redirection.html

  

命令> filename将命令重定向输出到文件

     

命令>>文件名APPEND到文件中