Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File 使用.bat文件将文件路径复制到txt文件中_File_Batch File_Dos - Fatal编程技术网

File 使用.bat文件将文件路径复制到txt文件中

File 使用.bat文件将文件路径复制到txt文件中,file,batch-file,dos,File,Batch File,Dos,如何使用.bat文件仅复制目录中的文件路径 例如,我有一个包含1000个文件的文件夹。我需要一个完整的UNC路径为每个文件放入一个文本文件。这将包括文件扩展名。DIR命令没有显示文件完整路径的选项总是让我感到惊讶。无论如何,这里有一个VBScript解决方案: With CreateObject("Scripting.FileSystemObject") Set Out = .CreateTextFile("c:\text.txt", True) For Each File In

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


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

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
使用
~f
修饰符获取完整路径
注意:如果在批处理文件中使用,请记住将这些百分比加倍。

仅复制文件路径:

(for %a in (*.*) do @echo %~DPa) > output.txt
复制扩展名为的文件路径:

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

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

试试
dir/s/b directory>file.txt
实际上/s标志也会给出所有子目录。并且/b(或任何其他开关)不会给出完整路径。@Bond当我将
/s
/b
一起使用时,我会得到完整路径名。user3338797,你没有规定你不想遍历子目录,所以我不知道。@mbrach:OP提到他有一个包含1000个文件的文件夹,所以听起来好像他只想得到那1000个文件的完整路径名。只有在没有子目录的情况下,您的解决方案才会起作用。否则,这将给他(潜在地)比他想要的更多。
(for %a in (*.*) do @echo %~DPXa) > output.txt