【问题标题】:Copy file paths using .bat file into a txt file使用 .bat 文件将文件路径复制到 txt 文件中
【发布时间】:2014-03-23 13:13:19
【问题描述】:

如何使用 .bat 文件仅复制目录中的文件路径?

例如,我有一个文件夹,里面有 1000 个文件。对于放入文本文件的每个文件,我需要一个完整的 UNC 路径。这将包括文件扩展名。

【问题讨论】:

  • 试试dir /s /b directory > file.txt
  • 其实 /s 标志也给出了所有的子目录。
  • 而 /b(或任何其他开关)不会给出完整路径。
  • @Bond 当我将/s/b 一起使用时,我得到了完整的路径名。 user3338797,你没有规定不想遍历子目录,所以我不知道。
  • @mbratch:OP 提到他有一个包含 1000 个文件的文件夹,所以听起来他想获取这 1000 个文件的完整路径名。只有在没有子目录的情况下,您的解决方案才有效。否则,它会给他(可能更多)比他想要的更多。

标签: file batch-file dos


【解决方案1】:

仅复制文件路径:

(for %a in (*.*) do @echo %~DPa) > output.txt

复制带有扩展名的文件路径:

(for %a in (*.*) do @echo %~DPXa) > output.txt

前面是命令行;如果您愿意,可以将它们包含在批处理文件中。

【讨论】:

    【解决方案2】:

    DIR 命令没有显示文件完整路径的选项总是让我感到惊讶。无论如何,这是一个 VBScript 解决方案:

    With CreateObject("Scripting.FileSystemObject")
        Set Out = .CreateTextFile("c:\text.txt", True)
        For Each File In .GetFolder("c:\some_folder").Files
            Out.WriteLine File.Path
        Next
        Out.Close
    End With
    

    【讨论】:

      【解决方案3】:

      使用~f修饰符获取完整路径

      for /f "delims=" %A in ('dir /a-d/b') do @echo %~fA >> list.txt
      

      注意:如果在批处理文件中使用,请记住将这些百分比加倍。

      【讨论】:

        猜你喜欢
        • 2016-09-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-20
        • 1970-01-01
        • 2011-09-22
        相关资源
        最近更新 更多